home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 7
/
FM Towns Free Software Collection 7.iso
/
taropyon
/
hewin
/
hewin.cci
< prev
next >
Wrap
Text File
|
1993-11-30
|
120KB
|
5,569 lines
# 1 "main.cci"
# 1 "main.cci"
# 89 "lib.h"
int _kan_km;
# 31 "main.cci"
char *SysMacro = (0);
char SYSMACRO_FN[10] = {'h','e','w','i','n','.','m','a','c','\0'};
# 6 "lib.cci"
int DlgMvFunc(int evtNo, char *sbj)
{
char *dlg;
short fr[4];
dlg = EVT_getPtr(sbj);
fr[0] = DLG_getFr(dlg,0);
fr[1] = DLG_getFr(dlg,1);
fr[2] = DLG_getFr(dlg,2);
fr[3] = DLG_getFr(dlg,3);
if ( DlgMove( fr ) )
{ DLG_move( dlg, fr[0], fr[1] );
}
return ((-2));
}
char *GetAsciiTime( char *s, long t )
{
int *tm;
tm = localtime( &t );
sprintf( s, "%04d/%02d/%02d %02d:%02d",
(tm[5])+1900, (tm[4])+1, (tm[3]),
(tm[2]), (tm[1]) );
return (s);
}
int TxdUsr_saveColTbl( char *txd )
{
int ret;
char *fdl;
char tmp[128], *fn;
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_wildcard( fdl, "*.tbl");
FDL_set_title( fdl, "SAVE COLOR TABLE");
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret != (0) || strlen(fn) == 0 )
{
FDL_close(fdl);
return ((-1));
}
FS_appendSnam( tmp, fn, ".tbl");
TXD_saveColTbl(txd,tmp);
FDL_close(fdl);
return ((0));
}
int CnsUsr_saveColTbl( char *cns )
{
int ret;
char *fdl;
char tmp[128], *fn;
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl, "SAVE COLOR TABLE");
FDL_set_wildcard( fdl, "*.tbl");
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret != (0) || strlen(fn) == 0 )
{
FDL_close(fdl);
return ((-1));
}
FS_appendSnam( tmp, fn, ".tbl");
CNS_saveColTbl(cns,tmp);
FDL_close(fdl);
return ((0));
}
# 93 "lib.cci"
char *MakeFnDate( char *getFn, char *path, char *top, char *sub )
{
long t;
int *tm;
char tmp[32];
int ch;
time(&t);
tm = localtime( &t );
sprintf( tmp, "%02d%02d%02d", (tm[5]), (tm[4])+1, (tm[3]) );
ch = 'a';
while ( ch <= 'z' )
{ sprintf( getFn,"%s%s%s%c%s", path, top, tmp, ch, sub );
if ( FS_isFileExist(getFn) == 0 )
return (getFn);
++ch;
}
getFn[0] = '\0';
return ((0));
}
int MakeLogStr( char *buf, char *s )
{
while ( *s )
{
if ( iskan(s) )
{
*buf = *s; ++buf; ++s;
*buf = *s; ++buf; ++s;
} else if ( *s == '\\' )
{
*buf = '\\'; ++buf;
*buf = 'x'; ++buf;
*buf = '5'; ++buf;
*buf = 'c'; ++buf;
++s;
} else
{ *buf = *s; ++buf; ++s;
}
}
*buf = '\0';
}
int cci_wait(int sec)
{
int x, y;
unsigned int clk;
clk = clock() + sec * 100;
while ( clock() < clk )
{ if ( EVT_mos_pget(&x,&y) || EVT_kbhit() )
break;
}
KBF_clear();
return ((0));
}
char *GetSizeStr( unsigned int siz, char *buf )
{
if ( siz == 0 )
strcpy( buf, "0");
else if ( siz < 1024 )
sprintf( buf, "%u", siz );
else if ( siz < 1024*1024 )
sprintf( buf, "%.1fK", siz / 1024.0 );
else
sprintf( buf, "%.1fM", siz / 1048576.0 );
return (buf);
}
# 8 "colset.cci"
int _csetDspFunc(char *dlg)
{
int *para;
char *evt;
int nowCol;
int evtNo;
int i, x, y;
int x0, y0, xs, ys;
evtNo = 0;
para = DLG_getPtr(dlg);
evt = para[0];
nowCol = para[1];
x0 = DLG_getFr(dlg,0);
y0 = DLG_getFr(dlg,1);
xs = DLG_getFr(dlg,2);
ys = DLG_getFr(dlg,3);
MOS_moveArea( x0, y0, x0+xs-1, y0+ys-1 );
DSP_boxfHol( x0+2, y0+2, x0+xs-2-1, y0+2+20-1, 0, 7, 15, 8);
DSP_str( x0+4, y0+4, 1, 7, 16, "COLOR SELECT");
EVT_set_mos( evt, evtNo++, i, (0x02)|(0x10), (1),
x0+2, y0+2, x0+xs-2-1, y0+2+20-1, "DlgMvFunc", dlg );
for ( i = 0; i < 16; ++i )
{
x = x0 + 8 + i * 18;
y = y0 + 32;
DSP_box (x ,y ,x+15 ,y+15 , 0, 1);
DSP_box (x+1,y+1,x+15-1,y+15-1, 0, 15);
DSP_boxf(x+2,y+2,x+15-2,y+15-2, 0, i );
if ( i == nowCol )
{ DSP_box (x-1,y-1,x+15-1,y+15-1, 0, 10 );
} else
{ EVT_set_mos( evt, evtNo++, i, (0x02), (1),
x, y, x+15, y+15, (0), (0));
}
}
EVT_set_mos( evt, evtNo++, 9999, (0x06), (2),
0, 0, 0, 0, (0), (0));
}
int COLSET_dlg(int nowCol)
{
int ret;
char *dlg;
char *evt;
char *mosTk;
int para[2];
if ( (evt = EVT_alloc((0),24)) == (0) )
return ((-1));
para[0] = evt;
para[1] = nowCol;
dlg = DLG_open( (0x10020),(0x10020),
(8+18*16+8),80, (0x1000|(((7)&15)<<4)|((15)&15)), "_csetDspFunc", para );
if ( dlg == (0) )
{
EVT_free(evt);
return ((-1));
}
mosTk = MOS_push();
DLG_dsp(dlg);
while ( 1 )
{
MOS_curDisp(1);
ret = EVT_chk(evt,0);
if ( (ret >= 0 && ret < 16) || ret == 9999 )
break;
}
DLG_close(dlg);
EVT_free(evt);
MOS_pop(mosTk);
if ( ret >= 0 && ret < 16 )
return (ret);
else
return ((-1));
}
int _csetDspFunc2(char *dlg)
{
int *para;
char *evt;
int nowCol;
int evtNo;
int i, j, flag, x, y;
int x0, y0, xs, ys;
evtNo = 0;
para = DLG_getPtr(dlg);
evt = para[0];
nowCol = para[1];
x0 = DLG_getFr(dlg,0);
y0 = DLG_getFr(dlg,1);
xs = DLG_getFr(dlg,2);
ys = DLG_getFr(dlg,3);
MOS_moveArea( x0, y0, x0+xs-1, y0+ys-1 );
DSP_boxfHol( x0+2, y0+2, x0+xs-2-1, y0+2+20-1, 0, 7, 15, 8);
DSP_str( x0+4, y0+4, 1, 7, 16, "MIX COLOR SELECT");
EVT_set_mos( evt, evtNo++, i, (0x02)|(0x10), (1),
x0+2, y0+2, x0+xs-2-1, y0+2+20-1, "DlgMvFunc", dlg);
for ( j = 0; j < 2; ++ j )
{
y = y0 + j*20 + 32;
DSP_egbStr( x0+4, y, 1, (0x1000|(((7)&15)<<4)|((15)&15)), 16,"color %d", j+1);
for ( i = 0; i < 16; ++i )
{
x = x0 + 8*8+ 8 + i * 18;
DSP_box (x ,y ,x+15 ,y+15 , 0, 1);
DSP_box (x+1,y+1,x+15-1,y+15-1, 0, 15);
DSP_boxf(x+2,y+2,x+15-2,y+15-2, 0, i );
flag = (0);
if ( j == 0 )
{
if ( (nowCol & 15) == i )
flag = (1);
} else
{
if ( ((nowCol>>4) & 15) == i )
flag = (1);
}
if ( flag )
{
DSP_box (x-1,y-1,x+15-1,y+15-1, 0, 10 );
} else
{
EVT_set_mos( evt, evtNo++, i + (j * 16), (0x02), (1),
x, y, x+15, y+15, (0), (0));
}
}
}
EVT_setSelBtn( evt, evtNo++, 9997, (0x01), (1),
x0+xs/2-32, y0+ys-28, 64, 24, (0), (0),
1, 7, 8, "SETUP" );
EVT_set_mos( evt, evtNo++, 9999, (0x06), (2),
0, 0, 0, 0, (0), (0));
}
int COLSET_dlg2(int nowCol)
{
int ret;
char *dlg;
char *evt;
char *mosTk;
int para[2];
if ( (evt = EVT_alloc((0),40)) == (0) )
return ((-1));
para[0] = evt;
para[1] = nowCol;
dlg = DLG_open( (0x10020),(0x10020),
(8+18*16+8)+8*8,112, (0x1000|(((7)&15)<<4)|((15)&15)),
"_csetDspFunc2", para );
if ( dlg == (0) )
{
EVT_free(evt);
return ((-1));
}
mosTk = MOS_push();
DLG_dsp(dlg);
while ( 1 )
{
MOS_curDisp(1);
ret = EVT_chk(evt,0);
if ( ret == 9999 || ret == 9997 )
break;
else if ( ret >= 0 && ret < 16 )
{
nowCol = (nowCol & 0xF0) + ret;
para[1] = nowCol;
DLG_dsp(dlg);
} else if ( ret >= 16 && ret < 32 )
{
nowCol = (nowCol & 0x0F) + ((ret-16)<<4);
para[1] = nowCol;
DLG_dsp(dlg);
}
}
DLG_close(dlg);
EVT_free(evt);
MOS_pop(mosTk);
if ( ret == 9999 )
return ((-1));
else
{
if ( ((nowCol>>4) & 15) == (nowCol & 15) )
nowCol = nowCol & 15;
else
nowCol = nowCol | 0x1000;
return (nowCol);
}
}
# 47 "bgm.cci"
int CCI_bgmPlay(int argc, char **argv )
{
char *fn;
if ( argc > 1 )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((5)&15)<<4)|((7)&15)),
2, "%s : \nBGM データをロードします。", argv[1] );
if ( argc > 2 )
{
BgmMode = atoi(argv[2]) & 3;
}
fn = argv[1];
if ( BGM_load(fn) == (0) )
{
BGM_playStart();
}
}
return ((0));
}
# 76 "bgm.cci"
int CCI_midPlay( int argc, char **argv )
{
char *fn;
char tmp[256];
if ( argc > 1 )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((5)&15)<<4)|((7)&15)),
2, "%s : \n演奏データをロード、演奏します。", argv[1] );
fn = argv[1];
MID_playStop();
MID_playStart(fn);
# 94 "bgm.cci"
}
return ((0));
}
# 5 "blackout.cci"
int BlackOutUsr_func( int x1, int y1, int x2, int y2)
{
int x, y, r, c, col;
int xs, ys;
char para[8];
xs = x2 - x1 + 1;
ys = y2 - y1 + 1;
c = 0;
while ( 1 )
{
if ( ++c > 128 )
{
DSP_boxf( x1, y1, x2, y2, 0, 1 );
c = 0;
}
if ( (c & 15) == 0 )
{
EVT_idl();
MOS_curDisp(0);
}
if ( kbhit() || (KYB_shift() & 0x14) != 0 || MOS_pget(&x,&y) )
break;
col = (rand() % 14) + 1;
x = x1 + (rand() % xs);
y = y1 + (rand() % ys);
r = rand() % 320;
EGB_color( EgbPtr,0,col);
EGB_writeMode( EgbPtr, 0 );
EGB_paintMode( EgbPtr, 0x002);
_setWord( para , x );
_setWord( para+2, y );
_setWord( para+4, r );
EGB_circle( EgbPtr, para );
}
}
# 49 "blackout.cci"
int CCI_setBlackOut( int argc, char **argv )
{
char *func;
if ( argc > 1 )
{
if ( argc > 2 )
func = argv[2];
else
func = "";
Apl_setBlackOut( 0, atoi(argv[1]) & 0xFFFF, func );
}
return ((0));
}
# 13 "timer.cci"
int CCI_setTimer( int argc, char **argv )
{
char *func;
if ( argc > 1 )
{
if ( argc > 2 )
func = argv[2];
else
func = "";
Apl_setTimer( 0, atoi(argv[1]) & 0xFFFF, func );
Apl_timerStart();
}
return ((0));
}
# 59 "debug.cci"
int CCI_pclExec(int argc, char **argv)
{
int ret;
char *fdl;
char *fn;
char tmp[128];
if ( argc > 1 )
{
sprintf( tmp, "%s.", AplGetStartPath() );
FS_chdrv( toupper(tmp[0]) - 'A' );
FS_chdir( tmp );
fn = argv[1];
ret = (0);
} else
{
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl, "CHILD PROCESS LOADER");
FDL_set_wildcard( fdl, "*.exp");
if ( FDL_start(fdl) == (0) && FS_setFullPathname( tmp, FDL_get_filename(fdl)) == (0) )
{
ret = (0);
fn = tmp;
} else
ret = (-1);
FDL_close(fdl);
}
if ( ret == (0) )
{
AplDtaInit();
DTA_dump( "f:/tmp/dta001.dmp" );
ret = AplPclExec( fn, 3 );
DTA_dump( "f:/tmp/dta002.dmp" );
}
return (ret);
}
# 101 "debug.cci"
int CCI_pclLink(int argc, char **argv)
{
int ret;
char *fdl;
char *fn;
char tmp[128];
unsigned int siz;
siz = 0;
if ( argc > 1 )
{
sprintf( tmp, "%s.", AplGetStartPath() );
FS_chdrv( toupper(tmp[0]) - 'A' );
FS_chdir( tmp );
fn = argv[1];
if ( argc > 2 )
siz = atoi(argv[2]) * 1024;
ret = (0);
} else
{
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl, "CHILD PROCESS LOADER");
FDL_set_wildcard( fdl, "*.exp");
if ( FDL_start(fdl) == (0) && FS_setFullPathname( tmp, FDL_get_filename(fdl)) == (0) )
{
ret = (0);
fn = tmp;
} else
ret = (-1);
FDL_close(fdl);
}
if ( ret == (0) )
{
if ( siz ==0 )
siz = 1*1024*1024;
ret = AplPclLink( fn, siz );
}
return (ret);
}
# 195 "debug.cci"
int CCI_idlFuncList()
{
AplIdlingFuncList();
return ((0));
}
# 6 "wpaper.cci"
int _wall_setCfg(char *obj, int cfg)
{
char *s;
switch( cfg )
{ case (0x0000): s = "NORMAL"; break;
case (0x0001): s = "CENTER"; break;
case (0x0002): s = "TILE"; break;
default: s = "???"; break;
}
MNU_setObj(obj, 1, (4), 'D', "Display mode [%s]", s, 1, (0), (0) );
}
char *_wall_setFile(char *obj, char *path )
{
int ret;
char *s;
char *fdl;
static char buf[128];
if ( (fdl = FDL_open(0)) == (0) )
return (path);
FDL_set_title( fdl,"WallPaper tiff file");
FDL_set_wildcard( fdl, "*.tif");
FDL_set_defaultFilename( fdl, path);
ret = FDL_start(fdl);
s = FDL_get_filename(fdl);
if ( ret == (0) && strlen(s) > 0 )
{
strcpy( buf, s );
path = buf;
MNU_setObj(obj, 0, (4), 'F', "FILE : %s", path , 0, (0), (0) );
}
FDL_close(fdl);
return (path);
}
int WallTiff()
{
int ret, cfg, frcol, bkcol;
char *mnu;
char *obj;
char *path;
cfg = APL_getWallPaper(1);
frcol = APL_getWallPaper(2) & 15;
bkcol = APL_getWallPaper(3) & 15;
path = APL_getWallPaper(4);
obj = MNU_alloc(7);
MNU_setObj(obj, 0, (4), 'F', "FILE : %s", path , 0, (0), (0) );
_wall_setCfg(obj,cfg);
MNU_setObj(obj, 2, (0), 0, (0), (0) , 0, (0), (0) );
MNU_setObj(obj, 3, (3), 'F', "前景色 %d", frcol, 2, (0), (0) );
MNU_setObj(obj, 4, (3), 'B', "背景色 %d", bkcol, 3, (0), (0) );
MNU_setObj(obj, 5, (0), 0, (0), (0) , 0, (0), (0) );
MNU_setObj(obj, 6, (2), 'S', "決定", (0) , 4, (0), (0) );
mnu = MNU_open( (0x10010), (0x10010), (1), obj, "WallPaper" );
while ( 1 )
{ ret = MNU_start ( mnu );
if ( ret < 0 || ret == 4 )
break;
switch( ret )
{ case 0:
path = _wall_setFile(obj, path);
break;
case 1:
if ( cfg == (0x0000) )
{ cfg = (0x0001);
} else if ( cfg == (0x0001) )
{ cfg = (0x0002);
} else if ( cfg == (0x0002) )
{ cfg = (0x0000);
}
_wall_setCfg(obj,cfg);
break;
case 2:
if ( (ret = COLSET_dlg(frcol)) >= 0 )
{ frcol = ret;
MNU_setObj(obj, 3, (3), 'F', "前景色 %d", frcol, 2, (0), (0) );
}
break;
case 3:
if ( (ret = COLSET_dlg(bkcol)) >= 0 )
{ bkcol = ret;
MNU_setObj(obj, 4, (3), 'B', "背景色 %d", bkcol, 3, (0), (0) );
}
break;
}
}
MNU_close(mnu);
MNU_free(obj);
if ( ret == 4 )
{ APL_setWallPaper( (0x0010), cfg, frcol,bkcol, path );
}
return ((0));
}
# 127 "wpaper.cci"
int WallColor()
{
int col;
col = APL_getWallPaper(3);
col = COLSET_dlg2( col );
if ( col >= 0 )
{ APL_setWallPaper( (0x0000), col);
}
MOS_initMoveArea();
return ((0));
}
# 148 "wpaper.cci"
int CCI_setWallPaper(int argc, char **argv)
{
int ret;
char *mnu;
char *obj;
obj = MNU_alloc(2);
MNU_setObj(obj, 0, (2), 'C', "Color 色指定", (0), 0, (0), (0) );
MNU_setObj(obj, 1, (2), 'T', "Tiff ファイル指定", (0), 1, (0), (0) );
mnu = MNU_open( (0x10010), (0x10010), (1), obj, "WallPaper" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 0: WallColor(); break;
case 1: WallTiff(); break;
}
return ((0));
}
# 178 "wpaper.cci"
int CCI_setColPtn_1( int argc, char **argv )
{
# 189 "wpaper.cci"
AplCol[0] = 15;
AplCol[1] = 1;
AplCol[2] = 7;
AplCol[3] = 8;
AplCol[4] = 1;
AplCol[5] = 14;
AplCol[6] = 10;
AplCol[7] = 10;
AplCol[8] = 12;
AplCol[9] = 2;
AplCol[10] = 8;
AplCol[11] = 2;
AplCol[12] = 7;
AplCol[13] = 3;
AplCol[14] = 4;
AplCol[15] = 5;
AplCol[16] = 6;
AplCol[17] = 3;
AplCol[18] = 9;
AplCol[19] = 10;
AplCol[20] = 11;
AplCol[21] = 12;
AplCol[22] = 13;
AplCol[23] = 14;
return ((0));
}
# 2 "expcfg.cci"
int _expSetup_maxibuf ( int maxibuf )
{
int ret, i;
char *dlg;
char buf[16];
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"-maxibuf 1~64 (%d)", maxibuf );
DLG_getsSetTitle( dlg, "MAXIBUF" );
buf[0] = '\0';
ret = DLG_getsStart( dlg, 15, buf );
if ( ret > 0 )
{ i = atoi(buf);
if ( i > 0 && i <= 64 )
maxibuf = i;
}
DLG_getsClose(dlg);
return (maxibuf);
}
int _expSetup_nistack ( int nistack )
{
int ret, i;
char *dlg;
char buf[16];
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"-nistack 1~16 (%d)", nistack );
DLG_getsSetTitle( dlg, "NISTACK" );
buf[0] = '\0';
ret = DLG_getsStart( dlg, 15, buf );
if ( ret > 0 )
{ i = atoi(buf);
if ( i > 0 && i <= 16 )
nistack = i;
}
DLG_getsClose(dlg);
return (nistack);
}
int _expSetup_istksize ( int istksize )
{
int ret, i;
char *dlg;
char buf[16];
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"-istksize 1~8 (%d)", istksize );
DLG_getsSetTitle( dlg, "ISTKSIZE" );
buf[0] = '\0';
ret = DLG_getsStart( dlg, 15, buf );
if ( ret > 0 )
{ i = atoi(buf);
if ( i > 0 && i <= 8 )
istksize = i;
}
DLG_getsClose(dlg);
return (istksize);
}
int _expSetup_sub( char *obj, int maxibuf, int nistack, int istksize )
{
MNU_setObj(obj, 0, (3), 'M', "-maxibuf %d" , maxibuf &0xFFFF, 1, (0), (0) );
MNU_setObj(obj, 1, (3), 'K', "-nistack %d" , nistack &0xFFFF, 2, (0), (0) );
MNU_setObj(obj, 2, (3), 'I', "-istksize %d" , istksize&0xFFFF, 3, (0), (0) );
MNU_setObj(obj, 3, (0), 0 , (0) , (0) , 0, (0), (0) );
MNU_setObj(obj, 4, (2), 'D', " Danger ちょっと危ない" , (0) , 4, (0), (0) );
MNU_setObj(obj, 5, (2), 'N', " Normal 僕は通信しない" , (0) , 5, (0), (0) );
MNU_setObj(obj, 6, (2), 'S', " Standard 標準設定" , (0) , 6, (0), (0) );
MNU_setObj(obj, 7, (2), 'B', " Bgm BGM はガンガン" , (0) , 7, (0), (0) );
MNU_setObj(obj, 8, (2), 'A', " Safety 安全設定" , (0) , 8, (0), (0) );
MNU_setObj(obj, 9, (0), 0 , (0) , (0) , 0, (0), (0) );
MNU_setObj(obj,10, (2), 'W', " Write 設定書込" , (0) , 9, (0), (0) );
}
int CCI_expSetup(int argc, char **argv )
{
char *fp;
char fn[128], buf[32];
char *fdl;
char *dlg;
char *obj;
char *mnu;
int ret;
unsigned short chk_sum, sum;
unsigned short maxibuf, nistack, istksize;
unsigned short old_maxibuf, old_nistack, old_istksize;
unsigned int dx_ofs;
long ofs;
if ( (fdl = FDL_open(0)) == (0) )
return (1);
FDL_set_title( fdl, "EXP プログラムの環境設定");
FDL_set_wildcard( fdl, "*.exp");
ret = FDL_start(fdl);
if ( ret == (0) )
strcpy( fn, FDL_get_filename(fdl));
FDL_close(fdl);
if ( ret != (0) || strlen(fn) == 0 )
return (1);
if ( (fp = FM_fopen(fn,"rb")) == (0) )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
AplErrMsgTime, " %s : \n FILE OPEN ERROR!! ", fn );
return (1);
}
dlg = DLG_msgOpen( (0x10030), (0x10030),
6*48,12*14, 1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
"EXP HEADER INFORMATION");
if ( dlg == (0) )
return ((-1));
DLG_msgSetConfig( dlg, 4, 6, 12 );
DLG_msgClear( dlg, 15 );
DLG_msgPrintf(dlg,"FILE : %s\r\n", fn );
DLG_msgPrintf(dlg,"\tcheck header" );
fseek( fp, 0, (0));
fread( buf, 2, 1, fp );
if ( buf[0] != 'P' || buf[1] != '3' )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
AplErrMsgTime, " %s : \n P3形式のプログラムではありません。 ", fn );
DLG_msgClose(dlg);
return (1);
}
DLG_msgPrintf(dlg,"\tOk!!\r\n" );
fseek(fp,0x0A,(0));
fread( &chk_sum, 2, 1, fp );
DLG_msgPrintf(dlg,"\tcheck sum\t\t$%04X\r\n", chk_sum & 0xFFFF );
fseek( fp, 0x0C, (0));
fread( &dx_ofs, 4, 1, fp );
DLG_msgPrintf(dlg,"\tDX part offset\t$%08X\r\n", dx_ofs );
ofs = dx_ofs + 0x08;
fseek(fp,ofs,(0));
fread( &maxibuf, 2, 1, fp );
DLG_msgPrintf(dlg,"\t-maxibuf\t%d\r\n", maxibuf );
ofs = dx_ofs + 0x0A;
fseek(fp,ofs,(0));
fread( &nistack, 2, 1, fp );
DLG_msgPrintf(dlg,"\t-nistack\t%d\r\n", nistack );
ofs = dx_ofs + 0x0C;
fseek(fp,ofs,(0));
fread( &istksize, 2, 1, fp );
DLG_msgPrintf(dlg,"\t-istksize\t%d\r\n", istksize );
FM_fclose(fp);
DLG_msgPrintf(dlg,"file close\r\n" );
old_maxibuf = maxibuf ;
old_nistack = nistack ;
old_istksize = istksize;
obj = MNU_alloc( 11 );
_expSetup_sub( obj, maxibuf, nistack, istksize );
mnu = MNU_open( (0x10010), (0x10010), (1), obj, "設定" );
while ( 1 )
{ ret = MNU_start ( mnu );
if ( ret < 0 || ret == 9 )
break;
switch ( ret )
{ case 1: maxibuf = _expSetup_maxibuf ( maxibuf ); break;
case 2: nistack = _expSetup_nistack ( nistack ); break;
case 3: istksize = _expSetup_istksize( istksize ); break;
case 4: maxibuf = 64; nistack = 4; istksize = 2; break;
case 5: maxibuf = 64; nistack = 6; istksize = 2; break;
case 6: maxibuf = 64; nistack = 7; istksize = 2; break;
case 7: maxibuf = 64; nistack = 8; istksize = 2; break;
case 8: maxibuf = 64; nistack = 8; istksize = 4; break;
}
_expSetup_sub( obj, maxibuf, nistack, istksize );
}
MNU_close(mnu);
MNU_free(obj);
if ( ret < 0 )
{ DLG_msgClose(dlg);
return (1);
}
DLG_msgPrintf(dlg,"\r\n" );
DLG_msgPrintf(dlg,"\tNew -maxibuf \t%d\tOld %d\r\n" , maxibuf , old_maxibuf );
DLG_msgPrintf(dlg,"\tNew -nistack \t%d\tOld %d\r\n" , nistack , old_nistack );
DLG_msgPrintf(dlg,"\tNew -istksize\t%d\tOld %d\r\n" , istksize, old_istksize );
sum = chk_sum;
sum = (sum + (maxibuf - old_maxibuf )) & 0xFFFF;
sum = (sum + (nistack - old_nistack )) & 0xFFFF;
sum = (sum + (istksize - old_istksize)) & 0xFFFF;
DLG_msgPrintf(dlg,"\tNew check sum\t%$%04X\tOld $%04X\r\n", sum, chk_sum );
ret = MNU_sure ( (0x10030), (0x10030),
1, 3, (0x1000|(((12)&15)<<4)|((7)&15)), (0),
" この設定に変更します。 " );
if ( ret != (1) )
{ DLG_msgClose(dlg);
return ((-1));
}
if ( (fp = FM_fopen(fn,"r+b")) == (0) )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
AplErrMsgTime, " %s : \n FILE OPEN ERROR!! ", fn );
DLG_msgClose(dlg);
return (1);
}
ofs = dx_ofs + 0x08;
fseek(fp,ofs,(0));
fwrite( &maxibuf, 2, 1, fp );
ofs = dx_ofs + 0x0A;
fseek(fp,ofs,(0));
fwrite( &nistack, 2, 1, fp );
ofs = dx_ofs + 0x0C;
fseek(fp,ofs,(0));
fwrite( &istksize, 2, 1, fp );
ofs = 0x0A;
fseek(fp,ofs,(0));
fwrite( &sum, 2, 1, fp );
FM_fclose(fp);
DLG_msgPrintf(dlg,"\r\n***** Completed *****\r" );
DLG_tmpMsgTime( (0x10030), (0x10030),
1, 3, (0x1000|(((5)&15)<<4)|((7)&15)),
4, " %s : \n プログラムを書き換えました。 \n 再起動してください。 ", fn );
DLG_msgClose(dlg);
return (0);
}
# 56 "main.cci"
char *WildCardTbl[11] =
{
"*.*" ,
"*.asm",
"*.bgm",
"*.c" ,
"*.cci",
"*.doc",
"*.eup",
"*.h" ,
"*.mid",
"*.mml",
"*.txt"
};
# 75 "main.cci"
int AfmSetup()
{
int i;
char comspec[128], *s;
char *console;
if ( (s = getenv("COMSPEC")) == (0) )
strcpy( comspec, "C:\\COMMAND.COM /C" );
else
sprintf( comspec,"%s /C", s );
console = "oricon";
Afm_setRunFile(0,".exe" , (4), (0), "","");
Afm_setRunFile(0,".com" , (4), (0), "","");
Afm_setRunFile(0,".bat" , (4), (0), "","");
Afm_setRunFile(0,"miel.com" , (4), (0), console, comspec);
Afm_setRunFile(0,"mipp.exe" , (4), (0), console, comspec);
Afm_setRunFile(0,"setup.exe" , (4), (0), console, comspec);
Afm_setRunFile(0,"makefile" , (4), (0), "make" ,"");
Afm_setRunFile(0,".lzh" , (4), (0), "LHa" ,"l");
Afm_setRunFile(0,".ish" , (4), (0), "ish" ,"% /r");
# 108 "main.cci"
Afm_setRunFile(0,".doc" , (2), (1101), "-rightMargin 80 -tab 2 -tabSpace ON -dspKS ON");
Afm_setRunFile(0,".txt" , (2), (1101), "-rightMargin 80 -tab 2 -tabSpace ON -dspKS ON");
Afm_setRunFile(0,".c" , (2), (1101), "-rightMargin 256 -autoIndent ON -tab 4 -dspKS ON");
Afm_setRunFile(0,".cci" , (2), (1101), "-rightMargin 256 -autoIndent ON -tab 4 -dspKS ON");
Afm_setRunFile(0,".h" , (2), (1101), "-rightMargin 256 -autoIndent ON -tab 4 -dspKS ON");
Afm_setRunFile(0,".asm" , (2), (1101), "-rightMargin 256 -autoIndent ON -tab 8 -dspKS ON");
Afm_setRunFile(0,".tbi" , (2), (1110) , "");
Afm_setRunFile(0,".tif" , (2), (1202) , "");
Afm_setRunFile(0,".snd" , (3), "CCI_sndPlay", "");
Afm_setRunFile(0,".bgm" , (3), "CCI_bgmPlay" , "");
Afm_setRunFile(0,".eup" , (3), "CCI_midPlay" , "");
Afm_setRunFile(0,".mid" , (3), "CCI_midPlay" , "");
Afm_setRunFile(0,".kbl" , (3), "CCI_loadKbl", "");
Afm_setRunFile(0,".rpl" , (3), "CCI_loadRpl", "");
# 138 "main.cci"
for ( i = 0 ; i < 11; ++i )
FdlSetWildCardList( WildCardTbl[i] );
}
# 149 "main.cci"
int HEWIN_start(int argc, char **argv)
{
int i, kan, kan_md;
char tmp[256], *s;
if ( (SysMacro = AMAC_allocWork(0)) != (0) )
{
sprintf( tmp, "%s%s", AplGetStartPath(), SYSMACRO_FN );
AMAC_load( SysMacro, tmp );
GetAsciiTime( tmp, time((0)) );
AMAC_setKey( SysMacro, "Startup_time", tmp );
}
AfmSetup();
# 166 "main.cci"
for ( i = 0; i < argc ; ++i )
{
s = argv[i];
if ( strcmpi( s, "-fep_roumaji") == 0 )
{
kan = KBF_kan_getMode();
if ( kan < 0 )
{
KBF_kan_on();
kan_md = KBF_kan_getMode();
} else
kan_md = kan;
if ( kan_md >= 0 )
{
kan_md = (kan_md & 0xFFFFFF0F) | 0x00000020;
KBF_kan_setMode( kan_md );
if ( kan < 0 )
KBF_kan_off();
}
}
}
return ((0));
}
# 194 "main.cci"
int HEWIN_term(int saveFlag)
{
char tmp[256];
# 201 "main.cci"
if ( SysMacro )
{
GetAsciiTime( tmp, time((0)) );
AMAC_setKey( SysMacro, "Exit_time", tmp );
sprintf( tmp, "%s%s", AplGetStartPath(), SYSMACRO_FN );
AMAC_save( SysMacro, tmp, "System macro" );
}
return (0);
}
# 218 "main.cci"
int AslUsr_setStartItem()
{
Asl_setDefCciItem("CCI_textViewer" ,"☆読んでネ","message.doc");
Asl_setDefCciItem("CCI_textViewer" ,"説明" ,"hewin.doc");
Asl_setDefCciItem("CCI_setWallPaper" ,"壁紙" ,"");
Asl_setDefCciItem("CCI_sidework" ,"SideWork" ,"");
Asl_setDefCciItem("CCI_sndPlay" ,"SND-PLAY" ,"");
Asl_setDefCciItem("CCI_expSetup" ,"EXP SETUP" ,"");
# 232 "main.cci"
return ((0));
}
# 5 "he386.cci"
char *_he386p_ = "he386p.exp";
char HE386_CCIPATH_KEY[16] = {'H','e','3','8','6','_','c','c','i','p','a','t','h','\0'};
char he386_ccipath[256] = {0};
char he386_option[256] = {0};
int he386_compile( char *pn )
{
int ret, drv;
char tmp[256], fn[256];
drv = toupper(pn[0]) - 'A';
FS_chdrv(drv);
FS_getDnamPath(tmp,pn);
FS_chdir(tmp);
AplDtaInit();
if ( he386_ccipath[0] )
sprintf( tmp, "-cciPath %s", he386_ccipath);
else
tmp[0] = '\0';
AplDtaSetStr( "$MainArg", "%s %s %s %s", _he386p_, he386_option, tmp, pn );
ret = AplPclExec( _he386p_, 0 );
FS_getFnam(fn,pn);
FS_appendSnam( fn, fn, ".mid" );
if ( FS_isFileExist(fn) > 0 )
MID_playStart( fn );
return ((0));
}
int he386_menu( char *pn )
{
int ret;
char tmp[256];
char *dlg;
char *mnu;
char *obj;
char *p;
if ( pn[0] == '\0' )
return ((0));
if ( (p = AMAC_getName(SysMacro,HE386_CCIPATH_KEY)) == (0) )
{
p = AplGetStartPath();
sprintf( he386_ccipath,"%c:/USR/HE386", *p );
AMAC_setKey( SysMacro,HE386_CCIPATH_KEY,he386_ccipath);
} else
{
strcpy( he386_ccipath, p );
}
obj = MNU_alloc(4);
MNU_setObj(obj, 0, (2), 'O', "Option" , (0), 1, (0), (0));
MNU_setObj(obj, 1, (2), 'P', "CCI Path" , (0), 2, (0), (0));
MNU_setObj(obj, 2, (0), 0 , (0) , (0), 3, (0), (0));
MNU_setObj(obj, 3, (2), 'C', "Compile (normal)", (0), 4, (0), (0));
mnu = MNU_open( (0x10010), (0x10010), (1),
obj, "MML Compile" );
for(;;)
{
ret = MNU_start ( mnu );
switch ( ret )
{
case 1:
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"HE386 のオプションパラメータを入力してください。");
DLG_getsSetTitle( dlg, "MML Compiler option parameter" );
strcpy( tmp, he386_option);
ret = DLG_getsStart( dlg, 255, tmp );
if ( ret >= 0 )
strcpy( he386_option, tmp );
DLG_getsClose(dlg);
break;
case 2:
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"HE386.CCI 格納パス名を入力してください。");
DLG_getsSetTitle( dlg, "MML compile cci path" );
strcpy( tmp, he386_ccipath);
ret = DLG_getsStart( dlg, 255, tmp );
if ( ret > 0 )
{
strcpy( he386_ccipath, tmp );
AMAC_setKey( SysMacro,HE386_CCIPATH_KEY,he386_ccipath);
}
DLG_getsClose(dlg);
break;
case 4:
he386_compile( pn );
goto _RET;
default:
goto _RET;
}
}
_RET:
MNU_close(mnu);
MNU_free(obj);
return ((0));
}
# 11 "prs.cci"
int PRS_start(int typ)
{
return ((0));
}
# 22 "prs.cci"
int PRS_end()
{
return ((0));
}
# 10 "tdp.cci"
char *TdpTbl_metakey[26] =
{
"$swave(cmd,note,len,Tn,wn,&,x,sp,ep,sin,a,ang,spdofs,aofs,sub)",
"$cho(note,len,n,x,sp,ep)",
"continue",
"#define\\t",
"#endif",
"fprintf(\x22",
"fgets(buf,len,fp);",
".mmltype\\tfb386\\n.fm\\t\\t\\tfmtone2\\n.pcm\\t\\tensam01\\n",
"#include\\t",
"#ifdef\\n#\\tdefine\\tEXT\\n#else\\n#\\tdefine\\tEXT\\textern\\n#endif\\n",
"iskanji\x28",
"/*************************************************************************\\n*\\n*************************************************************************/\\n",
"void\\tmain(int argc,char *argv[])\\n{\\t",
"NORMAL",
"if ( (fp = fopen(filename,\x22rb\x22))==NULL )\\n",
"printf(\x22",
"exit();",
"return",
"$slide(cmd,note,len,n,&,x,sp,ep)",
"typedef",
"unsigned",
"$vib(note,len,n,sin,sp,a,spd,ang)",
"$wave(cmd,note,len,n,&,sin,sp,a,spd,ang)",
"FALSE",
"TRUE",
"register"
};
# 48 "tdp.cci"
int TdpUsr_sysInit()
{
int i;
# 56 "tdp.cci"
Apl_stdWinSizeSet( (1101), (2+ 4+(6*80)+20+2), (358-12*3) );
for ( i = 0; i < 26; ++i )
TdpMetaKeySet( 'A'+i, TdpTbl_metakey[i]);
return ((0));
}
int TdpUsr_sysTerm()
{
return ((0));
}
# 75 "tdp.cci"
int TdpUsr_openFunc( char *tdp )
{
char *txd;
# 88 "tdp.cci"
txd = TdpGetTxdPtr(tdp);
TXD_cstSetKey( txd, (0x04)|(0x10)|0x4800 , (241), 0, "dup_line");
TXD_cstSetKey( txd, (0x10)|0x1D00, (241), 0, "template");
TXD_cstSetPfxKey( txd, (0x10)|0x1100 , 0x1200, (241), 0, "word_help");
TXD_cstSetPfxKey( txd, (0x10)|0x2500 , 0x1200, (241), 0, "cut_word");
TXD_cstSetPfxKey( txd, (0x04)|(0x10)|0x2400 , 0x1700, (241), 0, "undo_info");
TXD_cstSetPfxKey( txd, (0x04)|(0x10)|0x2400 , 0x2C00, (241), 0, "clear_undo_buffer");
TXD_cstSetPfxKey( txd, (0x04)|(0x10)|0x3000, 0x1500, (241), 0, "mml_toneGen");
TXD_cstSetPfxKey( txd, 0x0100, 0x0B00, (241), 0, "jump_mark_0");
TXD_cstSetPfxKey( txd, 0x0100, 0x0200, (241), 0, "jump_mark_1");
TXD_cstSetPfxKey( txd, 0x0100, 0x0300, (241), 0, "jump_mark_2");
TXD_cstSetPfxKey( txd, 0x0100, 0x0400, (241), 0, "jump_mark_3");
TXD_cstSetPfxKey( txd, 0x0100, 0x0500, (241), 0, "jump_mark_4");
TXD_cstSetPfxKey( txd, 0x0100, 0x0600, (241), 0, "jump_mark_5");
TXD_cstSetPfxKey( txd, 0x0100, 0x0700, (241), 0, "jump_mark_6");
TXD_cstSetPfxKey( txd, 0x0100, 0x0800, (241), 0, "jump_mark_7");
TXD_cstSetPfxKey( txd, 0x0100, 0x0900, (241), 0, "jump_mark_8");
TXD_cstSetPfxKey( txd, 0x0100, 0x0A00, (241), 0, "jump_mark_9");
return ((0));
}
# 119 "tdp.cci"
int TdpUsr_saveFunc( char *tdp, char *fn )
{
return ((0));
}
# 128 "tdp.cci"
int TdpUsr_quitFunc( char *tdp )
{
return ((0));
}
# 138 "tdp.cci"
int tdpUsr_evtFunc( int evtNo, char *sbj )
{
return TDP_cmdJump( GetEvtSbjPtr(sbj), evtNo );
}
# 147 "tdp.cci"
int TdpUsr_setPathname( char *tdp, char *pn )
{
return ((0));
}
int TDP_menu_1( char *tdp, int x, int y )
{
int ret;
char *mnu;
char *obj;
char *func;
func = "tdpUsr_evtFunc";
obj = MNU_alloc(11);
MNU_setObj(obj, 0, (2), 'O', "File Open", (0), (1101) ,func, tdp );
MNU_setObj(obj, 1, (2), 'C', "File Close", (0), (1102) ,func, tdp );
MNU_setObj(obj, 2, (0), 0, (0), (0), 0, (0), (0));
MNU_setObj(obj, 3, (2), 'W', "Write file", (0), (1104) ,func, tdp );
MNU_setObj(obj, 4, (2), 'R', "Read file", (0), (1103) ,func, tdp );
MNU_setObj(obj, 5, (2), 'U', "Update file", (0), (1105) ,func, tdp );
MNU_setObj(obj, 6, (2), 'F', "Change Filename", (0), (1106) ,func, tdp );
MNU_setObj(obj, 7, (2), 'E', "Edit original", (0), (1107),func, tdp );
MNU_setObj(obj, 8, (0), 0, (0), (0), 0, (0), (0));
MNU_setObj(obj, 9, (2), 'P', "UPdate all", (0), (1110) ,func, tdp );
MNU_setObj(obj,10, (2), 'N', "New window", (0), (1108) ,func, tdp );
mnu = MNU_open( x, y, (1), obj, "MENU1 (FILE)" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
return (ret);
}
# 185 "tdp.cci"
int tdp_evt_jump( int evtNo, char *sbj )
{
char *tdp;
char *txd;
char *dlg;
int ret, ln;
char buf[16];
tdp = GetEvtSbjPtr(sbj);
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"行番号を入力してください。");
DLG_getsSetTitle( dlg, "JUMP" );
buf[0] = '\0';
ret = DLG_getsStart( dlg, 15, buf );
if ( ret > 0 && (ln = atoi(buf)) > 0 )
{
txd = TdpGetTxdPtr(tdp);
TXD_jumpLine( txd, ln - 1 );
}
DLG_getsClose(dlg);
return (0);
}
# 212 "tdp.cci"
int _tdpSetRplPtn( int evtNo, char *sbj )
{
char *tdp;
char *txd;
char buf[256];
tdp = GetEvtSbjPtr(sbj);
txd = TdpGetTxdPtr(tdp);
memset( buf, 0, 256);
if ( TXD_getCutBuf(txd,buf,256) >= 0 )
TXD_setReplacePtn( txd, buf );
return (evtNo);
}
# 231 "tdp.cci"
int _tdpSetRplStr( int evtNo, char *sbj )
{
char *tdp;
char *txd;
char buf[256];
tdp = GetEvtSbjPtr(sbj);
txd = TdpGetTxdPtr(tdp);
memset( buf, 0, 256);
if ( TXD_getCutBuf(txd,buf,256) >= 0 )
TXD_setReplaceStr( txd, buf );
return (evtNo);
}
# 250 "tdp.cci"
int _tdpSetSearch( int evtNo, char *sbj )
{
char *tdp;
char *txd;
int len;
char buf[256];
tdp = GetEvtSbjPtr(sbj);
txd = TdpGetTxdPtr(tdp);
if ( (len = TXD_getCutBuf(txd,buf,256)) >= 0 )
TXD_setSearchPtn( txd, buf, len );
return (evtNo);
}
# 269 "tdp.cci"
int TDP_menu_2( char *tdp, int x, int y )
{
int ret;
char *mnu;
char *obj;
obj = MNU_alloc(13);
MNU_setObj(obj, 0, (2), 'F', "Find & jump", (0), (184) , (0), tdp );
MNU_setObj(obj, 1, (2), 'S', "Search", (0), (180) , (0), tdp );
MNU_setObj(obj, 2, (2), 'R', "Replace", (0), (190) , (0), tdp );
MNU_setObj(obj, 3, (2), 'A', "Multi replace All", (0), (191) , (0), tdp );
MNU_setObj(obj, 4, (2), '1', "Set repalce pattern", (0), 0, "_tdpSetRplPtn", tdp );
MNU_setObj(obj, 5, (2), '2', "Set repalce strings", (0), 0, "_tdpSetRplStr", tdp );
MNU_setObj(obj, 6, (2), '3', "Set search pattern", (0), 0, "_tdpSetSearch", tdp );
MNU_setObj(obj, 7, (0), 0, (0), (0), 0, (0), (0));
MNU_setObj(obj, 8, (2), 'J', "Jump", (0), 0, "tdp_evt_jump" , tdp );
MNU_setObj(obj, 9, (2), 'T', "Top of text", (0), (97) , (0), tdp );
MNU_setObj(obj,10, (2), 'B', "Bottom of text", (0), (98) , (0), tdp );
MNU_setObj(obj,11, (2), 'L', "Last touch", (0), (99) , (0), tdp );
MNU_setObj(obj,12, (2), 'M', "Mark", (0), (1201) , (0), tdp );
mnu = MNU_open( x, y, (1), obj, "MENU2 (EDIT)" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
if ( ret > 0 )
return TDP_cmdJump(tdp,ret);
else
return (ret);
}
# 305 "tdp.cci"
int TDP_menu_3( char *tdp, int x, int y )
{
int ret;
char *mnu;
char *obj;
char *txd;
int md;
unsigned int u[4];
char undoMsg[80], redoMsg[80];
txd = TdpGetTxdPtr(tdp);
obj = MNU_alloc(12);
if ( TXD_getUndoInfo( txd, u ) == (0) && u[3] > 0 )
{
md = (2);
sprintf( undoMsg, "Undo (%4d)", u[3] );
} else
{
md = (2) | (0x80);
strcpy( undoMsg, "Undo");
}
MNU_setObj(obj, 0, md, 'U', undoMsg , (0), (141), (0), tdp );
if ( TXD_getRedoInfo( txd, u ) == (0) && u[3] > 0 )
{
md = (2);
sprintf( redoMsg, "Redo (%4d)", u[3] );
} else
{
md = (2) | (0x80);
strcpy( redoMsg, "Redo");
}
MNU_setObj(obj, 1, md, 'R', redoMsg, (0), (142), (0), tdp );
MNU_setObj(obj, 2, (0), 0, (0), (0), 0 , (0), (0));
MNU_setObj(obj, 3, (2), '1', "Split 1 left/right", (0), (1310), (0), tdp );
MNU_setObj(obj, 4, (2), '2', "Split 2 up/down", (0), (1320), (0), tdp );
MNU_setObj(obj, 5, (0), 0, (0), (0), 0, (0), (0));
MNU_setObj(obj, 6, (2), 'P', "Print CUT-BUFFER", (0), (1304), (0), tdp );
MNU_setObj(obj, 7, (2), 'T', "Text printout", (0), (1330) , (0), tdp );
MNU_setObj(obj, 8, (0), 0, (0), (0), 0, (0), (0));
MNU_setObj(obj, 9, (2), 'C', "Calculator", (0), (3041), (0), tdp );
MNU_setObj(obj,10, (2), 'A', "Ascii code list", (0), (1301), (0), tdp );
MNU_setObj(obj,11, (2), 'K', "Kanji code list", (0), (1302), (0), tdp );
mnu = MNU_open( x, y, (1), obj, "MENU3 (UTILITY)" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
if ( ret > 0 )
return TDP_cmdJump(tdp,ret);
else
return (ret);
}
# 399 "tdp.cci"
int _tdpSaveSetup( int evtNo, char *sbj )
{
char *tdp;
char *txd;
char *fdl;
int ret;
char tmp[128], *fn;
tdp = GetEvtSbjPtr(sbj);
txd = TdpGetTxdPtr(tdp);
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl,"SAVE SETUP");
FDL_set_wildcard( fdl, "*.kst" );
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret != (0) || strlen(fn) == 0 )
{
FDL_close(fdl);
return ((-1));
}
FS_appendSnam( tmp, fn, ".kst" );
TDP_saveKeySetup(tdp,tmp);
FDL_close(fdl);
return ((0));
}
int _tdpLoadSetup( int evtNo, char *sbj )
{
char *tdp;
char *txd;
char *fdl;
int ret;
char tmp[128], *fn;
tdp = GetEvtSbjPtr(sbj);
txd = TdpGetTxdPtr(tdp);
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl,"LOAD SETUP");
FDL_set_wildcard( fdl, "*.kst" );
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret != (0) || strlen(fn) == 0 )
{
FDL_close(fdl);
return ((-1));
}
FS_appendSnam( tmp, fn, ".kst" );
TDP_loadKeySetup(tdp,tmp);
FDL_close(fdl);
return ((0));
}
int _tdpCallHE386( int evtNo, char *sbj )
{
char *tdp;
char *pn;
tdp = GetEvtSbjPtr(sbj);
pn = ((tdp)+(28));
he386_menu( pn );
return ((0));
}
# 474 "tdp.cci"
int TDP_menu_4( char *tdp, int x, int y )
{
int ret;
char *mnu;
char *obj;
obj = MNU_alloc(7);
MNU_setObj(obj, 0, (2), 'A', "Alphabet buffer" , (0), (3000) , (0) , tdp );
MNU_setObj(obj, 1, (2), 'S', "Save key setup data", (0), 0 , "_tdpSaveSetup" , tdp );
MNU_setObj(obj, 2, (2), 'L', "Load key setup data", (0), 0 , "_tdpLoadSetup" , tdp );
MNU_setObj(obj, 3, (0), 0 , (0) , (0), 0 , (0) , (0));
MNU_setObj(obj, 4, (2), 'U', "Upload" , (0), (2601) , (0) , tdp );
MNU_setObj(obj, 5, (0), 0 , (0) , (0), 0 , (0) , (0));
MNU_setObj(obj, 6, (2), 'M', "MML Compile" , (0), 0 , "_tdpCallHE386" , tdp );
# 498 "tdp.cci"
mnu = MNU_open( x, y, (1), obj, "MENU4 (OTHER)" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
if ( ret > 0 )
return TDP_cmdJump(tdp,ret);
else
return (ret);
}
# 517 "tdp.cci"
int CCI_loadKbl( int argc, char **argv )
{
if ( argc > 1 )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((5)&15)<<4)|((7)&15)),
2, "%s : \n Load alphabet buffer ", argv[1] );
TDP_loadAlBuf((0), argv[1]);
}
return ((0));
}
# 536 "tdp.cci"
int CCI_loadRpl( int argc, char **argv )
{
if ( argc > 1 )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((5)&15)<<4)|((7)&15)),
2, "%s : \n Load multi replace data ", argv[1] );
TXD_loadRplBuf( argv[1] );
}
return ((0));
}
int TDP_menu_5( char *tdp ) { return ((-1)); }
int TDP_menu_6( char *tdp ) { return ((-1)); }
int TDP_menu_7( char *tdp ) { return ((-1)); }
int TDP_menu_8( char *tdp ) { return ((-1)); }
int _tdpSaveColTbl( int evtNo, char *sbj )
{
char *tdp;
char *txd;
tdp = GetEvtSbjPtr(sbj);
txd = TdpGetTxdPtr(tdp);
TxdUsr_saveColTbl( txd );
return ((0));
}
# 568 "tdp.cci"
int TDP_setup2( char *tdp )
{
int ret;
char *mnu;
char *obj;
obj = MNU_alloc(2);
MNU_setObj(obj, 0, (2), 'C' , "Change color table", (0), (1910) , (0) , tdp );
MNU_setObj(obj, 1, (2), 'S' , "Save color table" , (0), 0 , "_tdpSaveColTbl", tdp );
mnu = MNU_open( (0x10020), (0x10020),
(1), obj, "SETUP2" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
if ( ret > 0 )
return TDP_cmdJump(tdp,ret);
else
return (ret);
}
# 594 "tdp.cci"
int TxdUsr_cut_word(char *txd )
{
if ( _getByte((txd)+(682)) != 0 )
return (0);
TXD_cmdJump( txd, (161) );
TXD_cmdJump( txd, (95) );
TXD_cmdJump( txd, (163) );
return ((0));
}
# 608 "tdp.cci"
int TxdUsr_dup_line( char *txd )
{
if ( _getByte((txd)+(682)) != 0 )
return (0);
TXD_cmdJump( txd, (85) );
TXD_cmdJump( txd, (171) );
TXD_cmdJump( txd, (82) );
TXD_cmdJump( txd, (172));
return ((0));
}
int _txd_printUndoInf( char *dlg, int *ubuf )
{
DLG_msgPrintf(dlg," 最大バッファサイズ %8d bytes\r\n", ubuf[0] );
DLG_msgPrintf(dlg," 使用バッファサイズ %8d bytes\r\n", ubuf[1]);
DLG_msgPrintf(dlg," 最大回数 %8d 回\r\n" , ubuf[2] );
DLG_msgPrintf(dlg," 現在有効数 %8d 回" , ubuf[3] );
}
# 632 "tdp.cci"
int TxdUsr_undo_info( char *txd )
{
char *dlg;
int ch, x, y;
int u[4];
unsigned int ec;
DSP_writePage(1);
dlg = DLG_msgOpen( (0x10020),(0x10020),
8*38,16*10,1,3,12,"UNDO/REDO BUFFER INFORMATION");
if ( dlg == (0) )
return ((-1));
DLG_msgClear( dlg, -1 );
if ( TXD_getUndoInfo( txd, u ) == (0) )
{
DLG_msgPuts( dlg,"- UNDO -\r\n" );
_txd_printUndoInf( dlg, u );
if ( TXD_getRedoInfo( txd, u ) == (0) )
{
DLG_msgPuts( dlg,"\r\n- REDO -\r\n" );
_txd_printUndoInf( dlg, u );
} else
{
DLG_msgPuts(dlg,"\r\n\n REDO機能\は使用されていません。\r\n" );
}
} else
{
DLG_msgPuts(dlg,"\r\n UNDO機能\は使用されていません。\r\n" );
}
while ( 1 )
{
ch = EVT_getkey(&ec);
if ( ch != 0xFFFF || EVT_mos_pget(&x,&y) )
break;
EVT_idl();
}
DLG_msgClose(dlg);
EVT_mos_waitBO();
return ((0));
}
# 680 "tdp.cci"
int TxdUsr_clear_undo_buffer( char *txd )
{
TXD_undo_freeAll( txd );
return ((0));
}
int TxdUsr_jump_mark_0( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,0);}
int TxdUsr_jump_mark_1( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,1);}
int TxdUsr_jump_mark_2( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,2);}
int TxdUsr_jump_mark_3( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,3);}
int TxdUsr_jump_mark_4( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,4);}
int TxdUsr_jump_mark_5( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,5);}
int TxdUsr_jump_mark_6( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,6);}
int TxdUsr_jump_mark_7( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,7);}
int TxdUsr_jump_mark_8( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,8);}
int TxdUsr_jump_mark_9( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,9);}
# 6 "tdptmp.cci"
char *_tdpTmp = (0);
int _tdpTmpData_open()
{
char tmp[256];
if ( _tdpTmp == (0) )
{
if ( (_tdpTmp = AMAC_allocWork(0)) == (0) )
return ((-1));
sprintf( tmp,"%s%s", AplGetStartPath(), "tdptmp.tbl" );
AMAC_load( _tdpTmp, tmp );
}
return ((0));
}
# 26 "tdptmp.cci"
int TxdUsr_template( char *txd )
{
char word[256], tmp[4];
int ch, len;
unsigned int curLnL, curOfs, lnL;
char *s;
if ( _tdpTmpData_open() )
return ((-1));
if ( _getByte((txd)+(682)) != 0 )
return (0);
curLnL = _getDword((txd)+(652));
if ( (curOfs = _getDword((txd)+(664))) == 0 )
return ((0));
TXD_cmdJump( txd, (96) );
if ( _getDword((txd)+(652)) < curLnL )
TXD_cmdJump( txd, (84) );
if ( (ch = TXD_getch(txd)) < 0 || (isalpha(ch) == 0 && ch != '_') )
{
TXD_jumpPos( txd, curLnL, curOfs );
return ((0));
}
len = 0;
while( len < 255 )
{
ch = TXD_getch(txd);
TXD_cmdJump( txd, (84) );
if ( isalpha(ch) || ch == '_' )
{
word[len++] = ch;
} else
break;
}
word[len] = '\0';
TXD_jumpPos( txd, curLnL, curOfs );
if ( len == 0 )
return ((0));
if ( (s = AMAC_getName( _tdpTmp, word )) == (0) )
return ((0));
while ( *s )
{
ch = (*s) & 0xFF;
++s;
switch ( ch )
{
case '\x02':
TXD_cmdJump( txd, (85) );
break;
case '\x06':
TXD_cmdJump( txd, (86) );
break;
case '\x08':
TXD_cmdJump( txd, (122) );
break;
case '\n':
TXD_cmdJump( txd, (42) );
break;
case '\x0B':
TXD_jumpPos( txd, curLnL, curOfs );
break;
case '\x1C':
TXD_cmdJump( txd, (84) );
break;
case '\x1D':
TXD_cmdJump( txd, (83) );
break;
case '\x1E':
TXD_cmdJump( txd, (81) );
break;
case '\x1F':
TXD_cmdJump( txd, (82) );
break;
case '\x7F':
TXD_cmdJump( txd, (121) );
break;
default:
if ( iskanji(ch) && iskanji2(*s) )
{
tmp[0] = ch;
tmp[1] = *s; ++s;
tmp[2] = '\0';
TXD_setBuf( txd, 0, 2, tmp );
} else
{
tmp[0] = ch;
tmp[1] = '\0';
TXD_setBuf( txd, 0, 1, tmp );
}
break;
}
}
return ((0));
}
# 5 "tdpmml.cci"
int mml_tone_gen( char *txd, char *name )
{
char tmp[256];
TXD_setBuf( txd, 0, 2, "\r\n");
sprintf( tmp, "#define\tA_%s\t$TONE_MODIFY(64,64,64, 64,64, 64,64,64)\r\n", name );
TXD_setBuf( txd, 0, strlen(tmp), tmp);
sprintf( tmp, "#define\tF_%s\t$INSTFILTER(off:0,off:0,rnd:-1/1)\r\n", name );
TXD_setBuf( txd, 0, strlen(tmp), tmp);
sprintf( tmp, "#define\tT_%s\t$F_%s() $INSTMAC( 0, 40, 80, 14,100, 0, 0,12) $A_%s()\r\n", name, name, name );
TXD_setBuf( txd, 0, strlen(tmp), tmp);
sprintf( tmp, "#define\tD_%s\t?(delay:*0..8)\r\n", name );
TXD_setBuf( txd, 0, strlen(tmp), tmp);
sprintf( tmp, "#define\tO_%s\to4\r\n", name );
TXD_setBuf( txd, 0, strlen(tmp), tmp);
sprintf( tmp, "#define\tG_%s\tq92 ?#(gate:*-16..0)\r\n", name );
TXD_setBuf( txd, 0, strlen(tmp), tmp);
sprintf( tmp, "#define\tC_%s\tv100 x127 i0 m0 p0\r\n", name );
TXD_setBuf( txd, 0, strlen(tmp), tmp);
sprintf( tmp, "#define\t %s\t$D_%s() $O_%s() $C_%s() $G_%s() $GenPin()\r\n", name, name, name, name, name );
TXD_setBuf( txd, 0, strlen(tmp), tmp);
TXD_scnFlush( txd );
return ((0));
}
int TxdUsr_mml_toneGen( char *txd )
{
int ret;
char *dlg;
char name[128];
DSP_writePage(1);
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"音色マクロ名を入力してください。");
DLG_getsSetTitle( dlg, "MML GENERATE" );
name[0] = '\0';
ret = DLG_getsStart( dlg, 127, name );
if ( ret > 0 && name[0] != '\0' )
{
mml_tone_gen( txd, name );
}
DLG_getsClose(dlg);
return (0);
}
# 5 "tdpwhlp.cci"
char WdHlpPath[128];
char WdHlpFn[128];
char WdHlpIdxFn[128];
int WdHelp( char *name )
{
int ch, i, ret;
char *fp, *idxFp;
char *s, buf[(512)];
char key[(16)+4];
long fpos;
int x0, y0;
char *dlg;
char *txtPtr;
x0 = y0 = (0x10030);
txtPtr = (0);
DSP_writePage(1);
if ( WdHlpPath[0] == '\0' )
strcpy( WdHlpPath, AplGetStartPath() );
sprintf( WdHlpFn , "%sTdpHelp.whf", WdHlpPath );
sprintf( WdHlpIdxFn, "%sTdpHelp.whi", WdHlpPath );
if ( (fp = FM_fopen(WdHlpFn,"rb")) == (0) )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
3, " %s : \n File open error!! ", WdHlpFn );
return ((-1));
}
if ( (idxFp = FM_fopen(WdHlpIdxFn,"rb")) == (0) )
{
dlg = DLG_msgOpen(x0,y0, 8*40,16*8, 1,3,12,
"MAKE INDEX FILE for WORD HELP" );
if ( dlg == (0) )
{
FM_fclose(fp);
return ((-1));
}
DLG_msgClear( dlg, -1 );
DLG_msgPrintf(dlg,"インデックスファイルを作成します。\r\n" );
if ( (idxFp = FM_fopen(WdHlpIdxFn,"wb")) == (0) )
{
DLG_msgPrintf(dlg,"File open errro!! (%s)\r\n", WdHlpIdxFn );
DLG_msgClose(dlg);
FM_fclose(fp);
return ((-1));
}
for (;;)
{
fpos = ftell(fp);
if ( fgets(buf,(512),fp) == (0) )
break;
s = buf;
if ( *s != '.' )
continue;
++s;
while ( isspace(*s) )
++s;
memset( key, '\0', 17 );
for ( i = 0; i < (16); ++i )
{
ch = *s; ++s;
if ( isdigit(ch) == 0 && isalpha(ch) == 0 && ch != '_' )
break;
key[i] = ch;
}
if ( key[0] == '\0' )
continue;
DLG_msgPrintf(dlg,"fpos = %6ld : %s\r\n", fpos, key );
fwrite(&fpos, 4,1,idxFp);
fwrite( key,(16),1,idxFp);
}
DLG_msgClose(dlg);
FM_fclose(idxFp);
if ( (idxFp = FM_fopen(WdHlpIdxFn,"rb")) == (0) )
{
FM_fclose(fp);
return ((-1));
}
}
ret = 0;
for(;;)
{
if ( fread(&fpos,4,1,idxFp) < 1 )
{
ret = -1;
break;
}
if ( fread(key,(16),1,idxFp) < 1 )
{
ret = -1;
break;
}
if ( strncmp( name, key, (16)) == 0 )
break;
}
FM_fclose(idxFp);
if ( ret )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
3, " %s : \n Pattern not found!! ", name );
FM_fclose(fp);
return ((-1));
}
fseek(fp,fpos,(0));
fgets(buf,(512),fp);
while ( fgets(buf,(512),fp) != (0) )
{
if ( buf[0] == '.' )
break;
txtPtr = DLG_txtSetLinBuf( txtPtr, 8, 80, "%s", buf );
}
FM_fclose(fp);
if ( (dlg = DLG_txtOpen(x0,y0,80,20,txtPtr,0)) == (0) )
{
DLG_txtFreeLinBuf( txtPtr );
return ((-1));
}
DLG_txtSetTitle( dlg, "TDP WORD HELP" );
DLG_txtSetGuideMsg( dlg, "Function : %s", name );
DLG_txtStart( dlg );
DLG_txtClose( dlg );
DLG_txtFreeLinBuf( txtPtr );
return ((0));
}
# 147 "tdpwhlp.cci"
int TxdUsr_word_help( char *txd )
{
int ret, ch, len;
char word[(16)+4];
unsigned int curLnL, curOfs;
char *dlg;
if ( _getByte((txd)+(682)) != 0 )
return (0);
curLnL = _getDword((txd)+(652));
curOfs = _getDword((txd)+(664));
if ( (ch = TXD_getch(txd)) > 0 && ch < 256 && (isalpha(ch) || ch == '_') )
{
len = 0;
while( len < (16) )
{
ch = TXD_getch(txd);
TXD_cmdJump( txd, (84) );
if ( isalpha(ch) || ch == '_' )
{
word[len++] = ch;
} else
break;
}
word[len] = '\0';
TXD_jumpPos( txd, curLnL, curOfs );
if ( len == 0 )
return ((0));
} else
word[0] = '\0';
DSP_writePage(1);
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"検索パターンを入力してください。" );
DLG_getsSetTitle( dlg, "PATTERN" );
ret = DLG_getsStart( dlg, (16), word );
DLG_getsClose(dlg);
if ( ret <= 0 )
return (0);
WdHelp( word );
return (0);
}
# 5 "dcn.cci"
char *_current_dcn;
char *_cns_console;
char _cns_comspec[128];
# 5 "dcntool.cci"
int _dcn_copy( char *dcn )
{
int ret;
char *fdl;
char *btn;
int srcDrv, dstDrv;
char srcDir[128], tmp[128], dstPn[128];
srcDrv = FS_getdrv();
FS_getdir( srcDir );
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
SYL_puts( 12, "カレントディレクトリ上のファイルをすべて複写します。複写先に移動してください。");
FDL_set_title( fdl, "FILE COPY : 複写先指定");
FDL_set_wildcard( fdl, "*.*");
ret = FDL_start(fdl);
dstDrv = FDL_get_drv(fdl);
strcpy( tmp, FDL_get_whare(fdl) );
sprintf( dstPn, "%c:/%s", dstDrv + 'A', tmp );
FDL_close(fdl);
if ( ret != (0) )
return ((1));
if ( srcDrv == dstDrv && FS_cmpfnam( srcDir, tmp) == 0 )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
AplErrMsgTime, " 複写元と複写先が同じです。 ");
return ((1));
}
btn = MNU_allocBtn( 2 );
MNU_setBtn( btn, 0, '\r' , 0x7300 , 1, "COPY : [実行]" );
MNU_setBtn( btn, 1, '\x1B', 0x7200, 2, "CANECEL : [取消]" );
ret = MNU_selectBtn( (0x10030), (0x10030),
1, 3, (0x1000|(((14)&15)<<4)|((7)&15)),
(0), 2, btn,
"複写元 : %c:/%s \n複写先 : %s \n 複写を行いますか? ",
srcDrv + 'A', srcDir, dstPn );
MNU_freeBtn( btn );
if ( ret != 1 )
return ((1));
FS_chdrv( srcDrv );
sprintf( tmp, "/%s", srcDir );
FS_chdir( tmp );
FM_fcopy( "*.*", 0x16, (0x01), dstPn, "" );
return ((1));
}
int _dcn_delete( char *dcn )
{
int i, ret;
unsigned int cf;
char *fn;
char *btn;
char *fdl;
if ( (fdl = FDL_open(((0x00000002)|(0x00000080)|(0x00010000)))) == (0) )
return ((-1));
FDL_set_title( fdl, "FILE DELETE");
FDL_set_wildcard( fdl, "*.*");
SYL_puts(12,"削除するファイルを指定してください。");
ret = FDL_start(fdl);
if ( ret != (0) )
{
SYL_clear();
FDL_close(fdl);
return ((1));
}
SYL_clear();
i = 0;
while ( FDL_getMarkFile(fdl, i) != (0) )
++i;
if ( i == 0 )
{
FDL_close(fdl);
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
AplErrMsgTime, " ファイル名が指定されていません。 " );
return ((1));
}
btn = MNU_allocBtn( 2 );
MNU_setBtn( btn, 0, '\r' , 0x7300 , 1, "DELETE : [実行]" );
MNU_setBtn( btn, 1, '\x1B', 0x7200, 2, "CANECEL : [取消]" );
ret = MNU_selectBtn( (0x10030), (0x10030),
1, 3, (0x1000|(((14)&15)<<4)|((7)&15)), (0), 2, btn,
" %d 個のファイルが指定されています。 \n 削除しますか? ",
i );
MNU_freeBtn( btn );
if ( ret != 1 )
{
FDL_close(fdl);
return ((1));
}
i = 0;
while ( (fn = FDL_getMarkFile(fdl, i)) != (0) )
{
SYL_puts( 12, "DELETE : %s", fn );
FS_remove( fn );
++i;
}
FDL_close(fdl);
return ((1));
}
# 18 "ish.cci"
int _ish_md = 0;
int _ish_os = 0;
int _ish_mv = 0;
int _ish_setMd()
{
int ret;
char *obj;
char *mnu;
obj = MNU_alloc(4);
MNU_setObj(obj, 0, (2), 'S', " shift jis " , (0), 0, (0), (0) );
MNU_setObj(obj, 1, (2), '7', " jis 7" , (0), 1, (0), (0) );
MNU_setObj(obj, 2, (2), '8', " jis 8" , (0), 2, (0), (0) );
MNU_setObj(obj, 3, (2), 'N', " non-kana" , (0), 3, (0), (0) );
mnu = MNU_open( (0x10010), (0x10010),
(1), obj, "ISH 作成モード" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
if ( ret >= 0 )
_ish_md = ret;
return (0);
}
int _ish_setOs()
{
int ret;
char *obj;
char *mnu;
obj = MNU_alloc(7);
MNU_setObj(obj, 0, (2), 'D', " MS-DOS " , (0), 0, (0), (0) );
MNU_setObj(obj, 1, (2), 'U', " UNIX" , (0), 1 , (0), (0) );
MNU_setObj(obj, 2, (2), 'M', " Mac" , (0), 2 , (0), (0) );
MNU_setObj(obj, 3, (2), 'C', " CP/M" , (0), 3 , (0), (0) );
MNU_setObj(obj, 4, (2), '9', " OS-9" , (0), 4 , (0), (0) );
MNU_setObj(obj, 5, (2), 'O', " other" , (0), 5, (0), (0) );
MNU_setObj(obj, 6, (2), 'A', " all" , (0), 6 , (0), (0) );
mnu = MNU_open( (0x10010), (0x10010),
(1), obj, "ISH OS 種別" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
if ( ret >= 0 )
_ish_os = ret;
return (0);
}
int _ish_setMv()
{
int ret;
char *dlg;
char tmp[16], mv[16];
if ( _ish_mv == 0 )
strcpy( mv, "off");
else
sprintf( mv,"%d", mv );
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
" 1ファイルの行数を入力してください(100~9999)。 \n現在:%s",
mv );
DLG_getsSetTitle( dlg, "ISH マルチボリューム設定" );
tmp[0] = 0;
ret = DLG_getsStart( dlg, 15, tmp );
DLG_getsClose(dlg);
if ( ret >= 0 )
{ ret = atoi(tmp);
if ( ret > 99 && ret < 10000 )
_ish_mv = ret;
}
return (0);
}
int _ish_make( char *dcn )
{
int ret;
char *fdl;
char ish[128], dir[128], cmd[256];
char tmp[128];
char *md, *os, mv[16];
switch ( _ish_md )
{
case 0: md = "/ss"; break;
case 1: md = "/s7"; break;
case 2: md = "/s8"; break;
case 3: md = "/sn"; break;
}
switch ( _ish_os )
{
case 0: os = "/m" ; break;
case 1: os = "/u" ; break;
case 2: os = "/ma"; break;
case 3: os = "/c" ; break;
case 4: os = "/9" ; break;
case 5: os = "/?" ; break;
case 6: os = "/*" ; break;
}
if ( _ish_mv == 0 )
mv[0] = '\0';
else
sprintf( mv,"/mv %d", _ish_mv );
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl, "ISH ファイル作成");
FDL_set_wildcard( fdl, "*.*");
SYL_puts(12,"ISH ファイルにしたいファイルを選択してください。");
if ( FDL_start(fdl) == (0) && FS_setFullPathname( tmp, FDL_get_filename(fdl)) == (0) )
{
FS_unix2dos( ish, tmp );
ret = (0);
} else
ret = (-1);
if ( ret == (0) )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
3, " %s : \n ISH ファイルを作成するディレクトリに移動してください。 ",
ish );
FDL_set_defaultFilename( fdl, "");
FDL_set_title( fdl, "ISH : ディレクトリ指定");
SYL_puts( 12,
"ISH ファイルを作成したいディレクトリに移動してください。");
ret = FDL_start(fdl);
if ( ret == (0) )
{
sprintf( tmp, "%c:/%s", FDL_get_drv(fdl) + 'A', FDL_get_whare(fdl) );
FS_unix2dos( dir, tmp );
FDL_close(fdl);
sprintf( cmd, "ish %s %s %s %s %s", ish, md, os, dir, mv );
DCN_puts( dcn, cmd );
DCN_exec( dcn, 0, cmd );
ret = (1);
} else
FDL_close(fdl);
} else
FDL_close(fdl);
SYL_clear();
return (ret);
}
int _ish_restore( char *dcn )
{
int ret;
char *fdl;
char ish[128], cmd[256], tmp[128];
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl, "ISH ファイルの復元");
FDL_set_wildcard( fdl, "*.*");
SYL_puts(12,"復元したいファイルを指定してください。");
if ( FDL_start(fdl) == (0) && FS_setFullPathname( ish, FDL_get_filename(fdl)) == (0) )
ret = (0);
else
ret = (-1);
if ( ret == (0) )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
3, " %s : \n復元先するディレクトリに移動してください。 ",
ish );
FDL_set_defaultFilename( fdl, "");
FDL_set_title( fdl, "ISH : 復元先ディレクトリの指定");
SYL_puts(12,
"ISH ファイルを復元したいディレクトリに移動してください。");
ret = FDL_start(fdl);
FDL_close(fdl);
if ( ret == (0) )
{
FS_unix2dos( tmp, ish );
sprintf( cmd, "ish %s /r", tmp );
DCN_puts( dcn, cmd );
DCN_exec( dcn, 0, cmd );
ret = (1);
}
} else
FDL_close(fdl);
SYL_clear();
return (ret);
}
int _ish_setobj( char *obj )
{
char *md, *os, mv[16];
switch ( _ish_md )
{
case 0: md = "shift jis"; break;
case 1: md = "jis7" ; break;
case 2: md = "jis8" ; break;
case 3: md = "non-kana" ; break;
}
switch ( _ish_os )
{
case 0: os = "MS-DOS"; break;
case 1: os = "UNIX" ; break;
case 2: os = "Mac" ; break;
case 3: os = "CP/M" ; break;
case 4: os = "OS-9" ; break;
case 5: os = "other" ; break;
case 6: os = "all" ; break;
}
if ( _ish_mv == 0 )
strcpy( mv, "off");
else
sprintf( mv, "%d", _ish_mv );
MNU_setObj(obj, 0, (2), 'I', " ISH ファイルの作成 " , (0), 1, (0) , (0) );
MNU_setObj(obj, 1, (4), 'S', " 作成モード %s " , md , 0, "_ish_setMd", (0) );
MNU_setObj(obj, 2, (4), 'O', " OS種別 %s " , os , 0, "_ish_setOs", (0) );
MNU_setObj(obj, 3, (4), 'M', " マルチボリューム %s " , mv , 0, "_ish_setMv", (0) );
MNU_setObj(obj, 4, (0), 0 , (0) , (0), 0, (0) , (0) );
MNU_setObj(obj, 5, (2), 'R', " ISH ファイルの復元 " , (0), 2, (0) , (0) );
return (0);
}
int dcn_ish_menu( char *dcn )
{
int ret;
char *obj;
char *mnu;
obj = MNU_alloc(6);
_ish_setobj(obj);
mnu = MNU_open( (0x10010), (0x10010),
(1), obj, "ISH MENU" );
while ( 1 )
{
ret = MNU_start ( mnu );
if ( ret != 0 )
break;
_ish_setobj(obj);
}
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1: return _ish_make(dcn);
case 2: return _ish_restore(dcn);
}
return ((-1));
}
# 5 "mktags.cci"
char _mktags_mode;
char *_mktags_fp;
# 14 "mktags.cci"
int _mktags_main_file(char *fn)
{
char *fp;
char buf[512], tmp[128];
int ret, pos, len, ln, ch, ec;
char *reptn;
sprintf( tmp,"---------- %s ----------\r\n", fn );
if ( (reptn = RePtnAlloc("^[A-Za-z_].*[ \\t]*[\\*A-Za-z_].*(.*)\\|^#[ \\t]*define[ \\t]*[A-Za-z_].*(.*)",0)) == (0) )
return ((-1));
DCN_puts( _current_dcn, tmp );
fputs( tmp, _mktags_fp );
if ( (fp = FM_fopen(fn,"rb")) == (0) )
{ RePtnFree( reptn );
return ((-1));
}
ret = 0;
ln = 0;
while ( fgets(buf,512,fp) != (0) )
{
++ln;
if ( RePtnMatch2( reptn, buf, &pos, &len) > 0 && pos == 0 )
{
sprintf( tmp, "%-14s %d: ", fn, ln );
fputs( tmp, _mktags_fp);
fputs( buf, _mktags_fp);
}
if ( getkey(&ec) == '\x1B' || (ec&0xFF14) == 0x7200 )
{ DCN_puts( _current_dcn, "<<<BREAK>>>\r\n" );
ret = 1;
break;
}
}
FM_fclose(fp);
RePtnFree( reptn );
return (ret);
}
int _mktags_main_scn(char *fn)
{
char *fp;
char buf[512], tmp[128];
int ret, pos, len, ln, ch, ec;
char *reptn;
sprintf( tmp,"---------- %s ----------\r\n", fn );
if ( (reptn = RePtnAlloc("^[A-Za-z_].*[ \\t]*[\\*A-Za-z_].*(.*)\\|^#[ \\t]*define[ \\t]*[A-Za-z_].*(.*)",0)) == (0) )
return ((-1));
DCN_puts(_current_dcn,tmp);
if ( (fp = FM_fopen(fn,"rb")) == (0) )
{ RePtnFree( reptn );
return ((-1));
}
ret = 0;
ln = 0;
while ( fgets(buf,512,fp) != (0) )
{ ++ln;
if ( RePtnMatch2( reptn, buf, &pos, &len) > 0 && pos == 0 )
{
sprintf( tmp, "%-14s %d: ", fn, ln );
DCN_puts(_current_dcn, tmp);
DCN_puts(_current_dcn, buf);
}
if ( getkey(&ec) == '\x1B' || (ec&0xFF14) == 0x7200 )
{ DCN_puts(_current_dcn, "<<<BREAK>>>\r\n");
ret = 1;
break;
}
}
FM_fclose(fp);
RePtnFree( reptn );
return (ret);
}
int _mktags_extract( char *wild )
{
char buf[64];
int ret, cnt;
# 100 "mktags.cci"
cnt = 0;
ret = FM_findfirst( wild, 0, buf );
while ( ret == 0 )
{
++cnt;
# 109 "mktags.cci"
if ( _mktags_mode )
ret = _mktags_main_file( buf );
else
ret = _mktags_main_scn( buf );
# 116 "mktags.cci"
if ( ret > 0 )
break;
ret = FM_findnext( buf );
}
return (cnt > 0 ? (0) : (-1));
}
int MkTags( int argc, char **argv)
{
int i;
char *s;
if ( _mktags_mode )
{ if ( (_mktags_fp = FM_fopen("tags","wb")) == (0) )
return ((-1));
}
for ( i = 1; i < argc; ++i )
{ s = argv[i];
if ( *s == '-' || *s == '/' )
{
} else
{ _mktags_extract( s );
}
}
if ( _mktags_mode )
FM_fclose(_mktags_fp);
return ((0));
}
# 149 "mktags.cci"
int _dcn_searchFunction( char *dcn )
{
int i, ret;
int argc;
char **argv;
char *para;
ret = MNU_sure ( (0x10030), (0x10030),
1, 3, (0x1000|(((12)&15)<<4)|((7)&15)), (0),
" カレントディレクトリの 拡張子 .H .C .CCI ファイルから、 \n 関数定義,マクロ定義位置を探します。"
);
if ( ret != (1) )
return ((-1));
_mktags_mode = 0;
_current_dcn = dcn;
DCN_puts(_current_dcn,"\r\n");
para = "mktags *.h *.c *.cci";
argc = FS_argSet(para,&argv);
if ( argc > 0 )
{ MkTags( argc, argv );
FS_argClear( argc, argv );
}
return ((1));
}
# 181 "mktags.cci"
int _dcn_mktags( char *dcn )
{
int i, ret;
int argc;
char **argv;
char *para;
ret = MNU_sure ( (0x10030), (0x10030),
1, 3, (0x1000|(((12)&15)<<4)|((7)&15)), (0),
" カレントディレクトリの 拡張子 .H .C .CCI ファイルから、 \n \x22tags\x22ファイルを作成します。"
);
if ( ret != (1) )
return ((-1));
_mktags_mode = 1;
_current_dcn = dcn;
DCN_puts(_current_dcn,"\r\n");
para = "mktags *.h *.c *.cci";
argc = FS_argSet(para,&argv);
if ( argc > 0 )
{ MkTags( argc, argv );
FS_argClear( argc, argv );
}
return ((1));
}
# 28 "dcn.cci"
int DcnUsr_commandMenu( char *dcn, int x, int y )
{
int ret;
char *obj;
char *mnu;
char *cmd;
obj = MNU_alloc(3);
MNU_setObj(obj, 0, (2), 'D', "Directory" , (0), 1, (0), (0) );
MNU_setObj(obj, 1, (2), 'M', "MetaKey" , (0), 2, (0), (0) );
MNU_setObj(obj, 2, (2), 'C', "CD Dictionary", (0), 3, (0), (0) );
mnu = MNU_open( x, y, (1), obj, "COMMAND" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1:
cmd = "DIR";
DCN_puts(dcn, cmd );
DCN_puts(dcn, "\r\n" );
DCN_exec(dcn, (1), cmd);
ret = (1);
break;
case 2:
DCN_metakey(dcn);
ret = 0;
break;
case 3:
DCN_puts(dcn, "\r\n" );
DCN_dic(dcn);
ret = (1);
break;
}
return (ret);
}
# 69 "dcn.cci"
int DcnUsr_func_01( char *dcn )
{
return DCN_menu( dcn );
}
# 78 "dcn.cci"
int DcnUsr_func_02( char *dcn )
{
int ret;
char *fdl;
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl, "DIRECTORY");
FDL_set_wildcard( fdl, "*.*");
ret = FDL_start(fdl);
FDL_close(fdl);
DCN_puts(dcn, "\r\n" );
if ( ret == (0) )
{
DCN_exec( dcn, 0, "dir /w" );
}
return ((1));
}
# 106 "dcn.cci"
int DcnUsr_func_03( char *dcn )
{
int ret;
char *mnu;
char *obj;
obj = MNU_alloc(2);
MNU_setObj(obj, 0, (2), 'C' , "Copy", (0), 1, (0), (0) );
MNU_setObj(obj, 1, (2), 'D' , "Delete" , (0), 2, (0), (0) );
mnu = MNU_open( (0x10010), (0x10010),
(1), obj, "TOOL" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1: ret = _dcn_copy(dcn); break;
case 2: ret = _dcn_delete(dcn); break;
}
return ((0));
}
# 132 "dcn.cci"
int DcnUsr_func_04( char *dcn )
{
int ret;
char *mnu;
char *obj;
obj = MNU_alloc(2);
MNU_setObj(obj, 0, (2), 'M' , "Make \x22tags\x22 file" , (0), 1, (0), (0) );
MNU_setObj(obj, 1, (2), 'S' , "Search function defined position", (0), 2, (0), (0) );
mnu = MNU_open( (0x10010), (0x10010),
(1), obj, "CCI UTILITY" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1: ret = _dcn_mktags(dcn); break;
case 2: ret = _dcn_searchFunction(dcn); break;
default: ret = (0); break;
}
return (ret);
}
# 160 "dcn.cci"
int DcnUsr_func_05( char *dcn )
{
char *cns;
int ret;
char *mnu;
char *obj;
cns = DcnGetCnsPtr( dcn );
obj = MNU_alloc(2);
MNU_setObj(obj, 0, (2), 'C' , "Change color table", (0), 1, (0), (0) );
MNU_setObj(obj, 1, (2), 'T' , "Save color table" , (0), 2, (0), (0) );
mnu = MNU_open( (0x10010), (0x10010),
(1), obj, "SETUP" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1: DCN_changeColor( dcn ); break;
case 2: CnsUsr_saveColTbl( cns ); break;
}
return ((0));
}
# 191 "dcn.cci"
int DcnUsr_func_06( char *dcn )
{
DCN_puts(dcn, "\r\n" );
DCN_dic(dcn);
return ((1));
}
# 202 "dcn.cci"
int DcnUsr_func_07( char *dcn )
{
return ((0));
# 213 "dcn.cci"
}
# 219 "dcn.cci"
int DcnUsr_func_08( char *dcn )
{
return dcn_ish_menu( dcn );
}
# 228 "dcn.cci"
int DcnUsr_func_09( char *dcn )
{
char cmd[256];
sprintf( cmd, "%s %s miel *.*", _cns_console, _cns_comspec );
DCN_exec( dcn, 1, cmd );
return ((0));
}
# 241 "dcn.cci"
int DcnUsr_func_10( char *dcn )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((5)&15)<<4)|((7)&15)),
3, " ORICON を起動します。 \n HEwinに戻るには[EXIT]とタイプしてください。 " );
DCN_exec( dcn, 0, "ORICON" );
return ((0));
}
# 255 "dcn.cci"
int DcnUsr_func_11( char *dcn )
{
DCN_help(dcn);
}
# 264 "dcn.cci"
int DcnUsr_func_12( char *dcn )
{
return DCN_resizeMax(dcn);
}
# 273 "dcn.cci"
int DcnUsr_func_32( char *dcn )
{
return DCN_resizeMin(dcn);
}
char *DcnTbl_scnSave[(2)] =
{
"ARICON", "ORICON"
};
char *DcnTbl_ignore[(3)] =
{
"386", "RUN386", "OAK"
};
char *DcnTbl_check[(2)] =
{
"POFF", "REIPL"
};
char *DcnTbl_pfkey[24] =
{
"MENU", "DIR", "TOOL", "UTY", "SETUP",
"CD.DIC",
# 309 "dcn.cci"
"",
"ISH", "MIEL", "ORICON",
"HELP", "▲▼",
"", "", "", "", "",
"", "", "", "", "",
"",
"▽△"
};
char *DcnTbl_metakey[26] =
{
"assign ",
"tar cvmf :0BACKUP ",
"cmode ",
"dtree ",
"etom -playsub ctrl -rym 10 ",
"files ",
"grep ",
"hcfilter ",
"indent -ip1 -bl -cli4 -npcs -npsl -ncs -di12 ",
"jgawk ",
"kran ",
"ldiff ",
"mitags *.h *.c > tags",
"nifsave ",
"ORICON ",
"mipp ",
"qw ",
"rdoak2 ",
"strings ",
"tab -D4 ",
"undel ",
"vcopy ",
"whereis ",
"xcopy ",
"yacc ",
"zf "
};
# 354 "dcn.cci"
int DcnUsr_sysInit()
{
char *s;
int i;
if ( (s = getenv("COMSPEC")) == (0) )
strcpy( _cns_comspec, "C:\\COMMAND.COM /C" );
else
sprintf( _cns_comspec, "%s /C", s );
_cns_console = "oricon";
for ( i = 0; i < (2); ++i )
DcnSetCommand( DcnTbl_scnSave[i], (0x40));
for ( i = 0; i < (3); ++i )
DcnSetCommand( DcnTbl_ignore[i], (0x80));
for ( i = 0; i < (2); ++i )
DcnSetCommand( DcnTbl_check[i], (0x20));
DcnSetCommand("LHx" ,(8));
DcnSetCommand("he386p" ,(8));
DcnSetCommand("sz" ,(8));
DcnSetCommand("rz" ,(8));
DcnSetCommand("gsplay" ,(8)|(0x40));
DcnSetCommand("cci" ,(8)|(0x40));
DcnSetCommand("znsplay",(8)|(0x40));
for ( i = 0; i <24; ++i )
DCN_setPfkeyMsg( (i%12)+1, i/12, DcnTbl_pfkey[i] );
for ( i = 0; i <26; ++i )
DcnMetaKeySet('A'+i, DcnTbl_metakey[i]);
return ((0));
}
int DcnUsr_sysTerm()
{
return ((0));
}
# 406 "dcn.cci"
int DcnUsr_system( char *dcn, char *cmd )
{
DCN_system(dcn, cmd);
return ((0));
}
# 31 "ntm.cci"
int ntm_dialStart( char *ntm, char *tel )
{
int ret, count, i, argc;
char **argv;
char *mosTk;
char *center;
char *cmd;
if ( tel == (0) || tel[0] == '\0' )
{
TEL_ERR:
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
AplErrMsgTime, " 電話番号が指定されていません。 " );
return ((-1));
}
argc = FS_argSet( tel, &argv );
if ( argc < 1 )
goto TEL_ERR;
mosTk = MOS_push();
MOS_curType((120));
if ( (center = NtmGetCenterPtr(ntm)) == (0) )
{
cmd = (0);
} else
{
cmd = NtmCenterGetModem1(center);
if ( cmd[0] == '\0' )
cmd = (0);
}
if ( cmd )
NTM_rsPuts(ntm,cmd);
else
NTM_rsPuts(ntm,"ATZ");
NTM_rsPuts(ntm,"\r");
ret = NTM_waitStr( ntm, 30, "OK", (0) );
if ( ret < 0 )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
AplErrMsgTime, " Modem not ready!! " );
ERR_RET:
MOS_pop( mosTk );
FS_argClear( argc, argv );
return ((-1));
}
if ( center )
{
NTM_wait(1);
cmd = NtmCenterGetModem2(center);
if ( cmd[0] != '\0' )
{
NTM_rsPuts(ntm,cmd);
NTM_rsPuts(ntm,"\r");
NTM_wait(2);
}
}
count = 0;
ret = 1;
while ( ret )
{
for ( i = 0; i < argc; ++i )
{
NTM_rsPuts(ntm, "ATD");
NTM_rsPuts(ntm, argv[i] );
NTM_rsPuts(ntm, "\r" );
MOS_curDisp(1);
EVT_idl();
ret = NTM_waitStr( ntm, 30, "CONNECT","BUSY","NO CARRIER", (0) );
if ( ret == 0 )
{ SYL_puts(12,"<<<<< CONNECT >>>>>");
break;
} else if ( ret < 0 )
goto ERR_RET;
if ( NTM_wait(5) != (0) )
goto ERR_RET;
++count;
}
}
NTM_online( ntm );
MOS_pop(mosTk);
FS_argClear( argc, argv );
return ((0));
}
int ntm_chDir( char *dir )
{
int len;
char tmp[128];
if ( (len = strlen(dir)) == 0 )
return ((0));
if ( len > 2 && isalpha(*dir) && dir[1] == ':' )
{
FS_chdrv( toupper(*dir) - 'A' );
}
if ( len > 0 && FS_isdelim(dir[len-1]) )
{
sprintf( tmp, "%s.", dir );
FS_chdir( tmp );
} else
FS_chdir( dir );
return ((0));
}
int ntmSetDownloadDir( char *ntm )
{
char *center;
char *dir;
if ( (center = NtmGetCenterPtr(ntm)) == (0) )
return ((-1));
dir = NtmCenterGetDownDir(center);
return ntm_chDir( dir );
}
int ntmSetUploadDir( char *ntm )
{
char *center;
char *dir;
if ( (center = NtmGetCenterPtr(ntm)) == (0) )
return ((-1));
dir = NtmCenterGetUpDir(center);
return ntm_chDir( dir );
}
# 166 "ntm.cci"
int ntmUsr_evtFunc( int evtNo, char *sbj )
{
return NTM_cmdJump( GetEvtSbjPtr(sbj), evtNo );
}
# 175 "ntm.cci"
int NtmUsr_commandMenu( char *ntm, int x, int y )
{
int ret;
char *mnu;
char *obj;
char *func;
func = "ntmUsr_evtFunc";
obj = MNU_alloc(3);
MNU_setObj(obj, 0, (2), '1', "Input line on" , (0), (1001) ,func, ntm );
MNU_setObj(obj, 1, (2), '2', "Input line off" , (0), (1002) ,func, ntm );
MNU_setObj(obj, 2, (2), 'B', "Break" , (0), (1003) ,func, ntm );
mnu = MNU_open( x, y, (1), obj, "COMMAND MENU" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
return (ret);
}
int ntmPrintCutBuf()
{
return TDP_printCutBuf((0));
}
# 204 "ntm.cci"
int NtmUsr_fileMenu( char *ntm, int x, int y )
{
int ret;
char *mnu;
char *obj;
char *func;
func = "ntmUsr_evtFunc";
obj = MNU_alloc(5);
MNU_setObj(obj, 0, (2), 'S', "Save log buffer" , (0), (1101) , func, ntm );
MNU_setObj(obj, 1, (2), 'C', "Clear log buffer" , (0), (1102), func, ntm );
MNU_setObj(obj, 2, (2), 'T', "Append to Text" , (0), (1103) , func, ntm );
MNU_setObj(obj, 3, (0), 0 , (0) , (0), 0 , (0), (0));
MNU_setObj(obj, 4, (2), 'P', "Print CUT-BUFFER" , (0), 0 , "ntmPrintCutBuf", ntm );
mnu = MNU_open( x, y, (1), obj, "MENU" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
return (ret);
}
# 230 "ntm.cci"
int ntm_textUpload( int ret, char *sbj )
{
char *ntm;
char *fdl;
char *fn;
ntm = GetEvtSbjPtr(sbj);
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl,"TEXT FILE UPLOAD");
FDL_set_wildcard( fdl, "*.*");
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret == (0) && strlen(fn) > 0 )
{
NTM_fileUpload( ntm, fn );
}
FDL_close(fdl);
return ((0));
}
# 256 "ntm.cci"
int ntm_Xupload( int ret, char *sbj )
{
char *ntm;
char *fdl;
char *fn;
ntm = GetEvtSbjPtr(sbj);
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl,"X-MODEM FILE UPLOAD");
FDL_set_wildcard( fdl, "*.*");
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret == (0) && strlen(fn) > 0 )
{
NTM_Xupload( ntm, fn );
}
FDL_close(fdl);
return ((0));
}
char *ntm_getPara_rzsz(char *ntm)
{
char *rsb;
int baud, md;
char *spd, mode[8];
static char tmp[256];
rsb = NtmGetRsbPtr(ntm);
md = _getByte(rsb);
baud = _getByte(rsb + 1);
switch ( baud )
{
case 0: spd = "300"; break;
case 1: spd = "600"; break;
case 2: spd = "1200"; break;
case 3: spd = "2400"; break;
case 4: spd = "4800"; break;
case 5: spd = "9600"; break;
case 6: spd = "19200"; break;
}
mode[0] = ( md & 1 ) ? '8' : '7';
mode[1] = ( md & 2 ) ? (md & 4 ? 'E':'O') : 'N';
mode[2] = ( md & 8 ) ? '2' : '1';
mode[3] = '\0';
sprintf( tmp,"$-b%s $-m%s", spd, mode );
return (tmp);
}
char *SZ_PATH_KEY = "Sz_path";
int ntm_EXupload( int ret, char *sbj )
{
int ret;
char *ntm;
char *dlg;
char cmd[1024];
char *p, prog[128];
int argc;
char **argv;
char *fdl;
char *fnptr, fn[256];
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl,"FILE UPLOAD (EXTERNAL COMMAND)");
FDL_set_wildcard( fdl, "*.*");
ret = FDL_start(fdl);
fnptr = FDL_get_filename(fdl);
if ( ret == (0) && strlen(fnptr) > 0 )
{
strcpy( fn, fnptr );
} else
fn[0] = '\0';
FDL_close(fdl);
if ( fn[0] == '\0' )
return ((0));
if ( (p = AMAC_getName(SysMacro,SZ_PATH_KEY)) == (0) )
{
sprintf( prog, "%ssz.exp", AplGetStartPath());
AMAC_setKey( SysMacro, SZ_PATH_KEY, prog );
} else
strcpy( prog, p );
ntm = GetEvtSbjPtr(sbj);
dlg = DLG_getsOpen( (0x10010), (0x10010), 560,
" Command & parameters " );
DLG_getsSetTitle( dlg, "Call external command" );
sprintf( cmd, "%s $sz $-q %s %s", prog, ntm_getPara_rzsz(ntm), fn );
ret = DLG_getsStart( dlg, 1023, cmd );
DLG_getsClose(dlg);
if ( ret > 0 && cmd[0] )
{
argc = FS_argSet( cmd, &argv );
if ( argc > 0 )
{
if ( strcmpi( argv[0], prog ) )
{
strcpy( prog, argv[0] );
AMAC_setKey( SysMacro, SZ_PATH_KEY, prog );
}
FS_argClear( argc, argv );
}
AplDtaInit();
AplDtaSetStr( "$MainArg", "%s", cmd );
AplPclExec( prog, 0 );
}
return ((0));
}
# 382 "ntm.cci"
int NtmUsr_uploadMenu( char *ntm, int x, int y )
{
int ret;
char *mnu;
char *obj;
char *func;
int no, onum;
ntmSetUploadDir( ntm );
func = "ntmUsr_evtFunc";
onum = 4;
++onum;
obj = MNU_alloc(onum);
no = 0;
MNU_setObj(obj, no++, (2), 'C', "Send CUT-BUFFER" , (0), (1201), func, ntm );
MNU_setObj(obj, no++, (2), 'T', "Send text buffer" , (0), (1202), func, ntm );
MNU_setObj(obj, no++, (2), 'N', "Normal file upload" , (0), 0, "ntm_textUpload", ntm );
MNU_setObj(obj, no++, (2), 'X', "X-Modem upload" , (0), 0, "ntm_Xupload" , ntm );
MNU_setObj(obj, no++, (2), 'E', "Upload (External)" , (0), 0, "ntm_EXupload" , ntm );
mnu = MNU_open( x, y, (1), obj, "UPLOAD" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
return (ret);
}
# 419 "ntm.cci"
int ntm_textDownload( int ret, char *sbj )
{
char *ntm;
char *fdl;
char *fn;
ntm = GetEvtSbjPtr(sbj);
if ( NTM_fileDownCheck(ntm) )
return ((-1));
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl,"TEXT FILE DOWNLOAD");
FDL_set_wildcard( fdl, "*.*");
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret == (0) && strlen(fn) > 0 )
{
NTM_fileDownload( ntm, fn );
}
FDL_close(fdl);
return ((0));
}
# 449 "ntm.cci"
int ntm_Xdownload( int ret, char *sbj )
{
char *ntm;
char *fdl;
char *fn;
ntm = GetEvtSbjPtr(sbj);
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl,"X-MODEM FILE DOWNLOAD");
FDL_set_wildcard( fdl, "*.*");
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret == (0) && strlen(fn) > 0 )
{
NTM_Xdownload( ntm, fn );
}
FDL_close(fdl);
return ((0));
}
char *RZ_PATH_KEY = "Rz_path";
int ntm_EXdownload( int ret, char *sbj )
{
int ret;
char *ntm;
char *dlg;
char cmd[1024];
char *p, prog[128];
int argc;
char **argv;
if ( (p = AMAC_getName( SysMacro, RZ_PATH_KEY)) == (0) )
{
sprintf( prog, "%srz.exp", AplGetStartPath());
AMAC_setKey( SysMacro, RZ_PATH_KEY, prog );
} else
strcpy( prog, p );
ntm = GetEvtSbjPtr(sbj);
dlg = DLG_getsOpen( (0x10010), (0x10010), 560,
" Command & parameters " );
DLG_getsSetTitle( dlg, "Call external command" );
sprintf( cmd, "%s $-q $rz %s", prog, ntm_getPara_rzsz(ntm) );
ret = DLG_getsStart( dlg, 1023, cmd );
DLG_getsClose(dlg);
if ( ret > 0 && cmd[0] )
{
argc = FS_argSet( cmd, &argv );
if ( argc > 0 )
{
if ( strcmpi( argv[0], prog ) )
{
strcpy( prog, argv[0] );
AMAC_setKey( SysMacro, RZ_PATH_KEY, prog );
}
FS_argClear( argc, argv );
}
AplDtaInit();
AplDtaSetStr( "$MainArg", "%s", cmd );
AplPclExec( prog, 0 );
}
return ((0));
}
# 574 "ntm.cci"
int NtmUsr_downloadMenu( char *ntm, int x, int y )
{
int ret;
char *mnu;
char *obj;
char *func;
int no, onum;
ntmSetDownloadDir( ntm );
func = "ntmUsr_evtFunc";
onum = 2;
# 589 "ntm.cci"
++onum;
obj = MNU_alloc(onum);
no = 0;
MNU_setObj(obj, no++, (2), 'N', "Normal file download" , (0), 0, "ntm_textDownload", ntm );
MNU_setObj(obj, no++, (2), 'X', "X-Modem download" , (0), 0, "ntm_Xdownload" , ntm );
MNU_setObj(obj, no++, (2), 'E', "Download (External)" , (0), 0, "ntm_EXdownload" , ntm );
# 601 "ntm.cci"
mnu = MNU_open( x, y, (1), obj, "DOWNLOAD" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
return (ret);
}
# 613 "ntm.cci"
int ntm_directDial( char *ntm )
{
int ret;
char *dlg;
static char tel[256];
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"電話番号を入力してください。");
DLG_getsSetTitle( dlg, "DIAL" );
ret = DLG_getsStart( dlg, 255, tel );
DLG_getsClose(dlg);
if ( ret > 0 )
{
ntm_dialStart( ntm, tel );
}
return ((0));
}
int ntm_centerSelect( char *ntm )
{
char *center;
char *keyWord;
if ( (center = NTM_centerSelect()) != (0) )
{ keyWord = NtmCenterGetKeyWord( center );
NTM_setCenter( ntm, keyWord );
}
return ((0));
}
# 647 "ntm.cci"
int NtmUsr_autoFreeMenu( char *ntm, int x, int y )
{
int ret;
char *obj;
char *mnu;
obj = MNU_alloc(5);
MNU_setObj(obj, 0, (2), 'D', "ダイアル" , (0), 1, (0), (0) );
MNU_setObj(obj, 1, (2), 'S', "カレント・センター指定", (0), 2, (0), (0) );
MNU_setObj(obj, 2, (0), 0 , (0) , (0), 0, (0), (0) );
MNU_setObj(obj, 3, (2), 'N', "新規センター登録" , (0), 3, (0), (0) );
MNU_setObj(obj, 4, (2), 'K', "センターデータ削除" , (0), 4, (0), (0) );
mnu = MNU_open( x, y, (1), obj, "AUTO MENU" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch( ret )
{
case 1: ret = ntm_directDial(ntm); break;
case 2: ret = ntm_centerSelect(ntm); break;
case 3: ret = NTM_makeNewCenter(); break;
case 4: ret = NTM_centerDelete(); break;
}
return (ret);
}
# 678 "ntm.cci"
int NtmUsr_autoOffLineMenu( char *ntm, int x, int y )
{
int ret, n;
char *center;
char *name, *keyWord;
char *obj;
char *mnu;
center = NtmGetCenterPtr( ntm );
if ( center == (0) )
{
return NtmUsr_autoFreeMenu( ntm, x, y );
} else
{
NTM_callCenterFunc( ntm, "naviInit" );
name = NtmCenterGetName( center);
keyWord = NtmCenterGetKeyWord(center);
n = 6;
obj = MNU_alloc( n );
n = 0;
MNU_setObj(obj, n++, (2), 'L', "オートログイン" , (0), 1, (0), (0) );
# 708 "ntm.cci"
MNU_setObj(obj, n++, (2), 'C', "センターデータ設定" , (0), 3, (0), (0) );
MNU_setObj(obj, n++, (2), 'S', "カレント・センター変更", (0), 4, (0), (0) );
MNU_setObj(obj, n++, (0), 0 , (0) , (0), 0, (0), (0) );
MNU_setObj(obj, n++, (2), 'N', "新規センター登録" , (0), 5, (0), (0) );
MNU_setObj(obj, n++, (2), 'K', "センターデータ削除" , (0), 6, (0), (0) );
mnu = MNU_open( x, y, (1), obj, name );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1:
return NTM_callLogin( ntm );
# 725 "ntm.cci"
case 3:
ret = NTM_centerConfig( keyWord );
if ( ret == (0) )
{
NTM_setCenter( ntm, keyWord );
}
return (ret);
case 4:
return ntm_centerSelect(ntm); break;
case 5:
return NTM_makeNewCenter();
case 6:
return NTM_centerDelete();
}
return ((0));
}
}
# 747 "ntm.cci"
int NtmUsr_autoOnLineMenu( char *ntm, int x, int y )
{
int ret;
char *center;
char *obj;
char *mnu;
center = NtmGetCenterPtr( ntm );
if ( center == (0) )
{
obj = MNU_alloc(1);
MNU_setObj(obj, 0, (2), 'O', "OFF 回線切断", (0), 1, (0), (0) );
mnu = MNU_open( x, y, (1), obj, "AUTO MENU" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1: return NTM_offline(ntm,2);
}
return ((0));
} else
{
return NTM_callAutoMenu( ntm, x, y );
}
}
int _ntm_setFilterFunc( char *ntm, char *func )
{
int ret;
if ( (ret = NtmSetFilterFunc( ntm, func)) != (0) )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
AplErrMsgTime, " %s : \n このフィルタ関数は他のウィンドゥで既に使われています。 ",
func );
} else
{
NtmFilterModeOn( ntm );
}
return (ret);
}
# 795 "ntm.cci"
int _ntm_inputFilterPtn( char *ntm )
{
int ret;
char *dlg;
char tmp[256];
strncpy( tmp, NtmGetFilterPtn(ntm), 255 );
tmp[255] = '\0';
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"%s", tmp );
DLG_getsSetTitle( dlg, "FILTER PATTERN" );
ret = DLG_getsStart( dlg, 255, tmp );
DLG_getsClose(dlg);
if ( ret > 0 )
{
if ( NtmSetFilterPtn(ntm,tmp,1) == (0) )
{ NtmSetFilterFunc( ntm, (0) );
NtmFilterModeOn( ntm );
}
}
return ((0));
}
int _ntm_filterTest( char *ntm )
{
char *fdl;
char *fp;
int ret;
char *fn, tmp[256], buf[(512)];
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl,"FILTER SEND FILE");
FDL_set_wildcard( fdl, "*.*");
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret == (0) && strlen(fn) > 0 )
{
strcpy( tmp, fn );
} else
ret = (-1);
FDL_close(fdl);
if ( ret == (0) )
{
NTM_puts( ntm, "\r\n***** FILTER TEST *****\r\n");
if ( (fp = FM_fopen( tmp,"rb")) == (0) )
{ NTM_puts( ntm, "\r\n@ File open error!!\r\n");
return ((-1));
}
while ( fgets(buf,(512),fp) != (0) )
{
NTM_sendFilter( ntm, buf );
if ( kbhit() )
{ NTM_puts( ntm, "\r\n***** BREAK *****\r\n");
break;
}
}
FM_fclose(fp);
}
return (0);
}
# 864 "ntm.cci"
int NtmUsr_filterMenu( char *ntm, int x, int y )
{
int ret;
char *obj;
char *mnu;
obj = MNU_alloc(3);
MNU_setObj(obj, 0, (2), 'F', "Set filter pattern" , (0), 1, (0), (0) );
MNU_setObj(obj, 1, (2), 'O', "Filter mode off" , (0), 2, (0), (0) );
MNU_setObj(obj, 2, (2), 'T', "Filter test" , (0), 3, (0), (0) );
mnu = MNU_open( x, y, (1), obj, "FILTER MENU" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1:
_ntm_inputFilterPtn( ntm );
break;
case 2:
NtmSetFilterPtn( ntm, "",0 );
NtmSetFilterFunc( ntm, (0) );
NtmFilterModeOff( ntm );
break;
case 3:
_ntm_filterTest( ntm );
break;
}
return ((0));
}
int NtmUsr_func_01( char *ntm ) { return NTM_cmdJump( ntm, (1100) ); }
int NtmUsr_func_02( char *ntm ) { return NTM_cmdJump( ntm, (1200) ); }
int NtmUsr_func_03( char *ntm ) { return NTM_cmdJump( ntm, (1300) ); }
int NtmUsr_func_04( char *ntm ) { return NTM_cmdJump( ntm, (1400) ); }
int NtmUsr_func_05( char *ntm ) { return NTM_cmdJump( ntm, (1500) ); }
int NtmUsr_func_06( char *ntm ) { return NTM_cmdJump( ntm, (1005) ); }
int NtmUsr_func_10( char *ntm ) { return NTM_cmdJump( ntm, (1003) ); }
int NtmUsr_func_11( char *ntm ) { NTM_help( ntm ); return ((0)) ; }
int NtmUsr_func_12( char *ntm ) { return NTM_cmdJump( ntm, (1011) ); }
int NtmUsr_func_32( char *ntm ) { return NTM_cmdJump( ntm, (1012) ); }
# 912 "ntm.cci"
int NtmUsr_func_25( char *ntm )
{
char *cns;
int ret;
char *mnu;
char *obj;
cns = NtmGetCnsPtr( ntm );
obj = MNU_alloc(2);
MNU_setObj(obj, 0, (2), 'C' , "Change color table", (0), (1020), "ntmUsr_evtFunc", ntm );
MNU_setObj(obj, 1, (2), 'T' , "Save color table" , (0), 2 , (0) , (0) );
mnu = MNU_open( (0x10010), (0x10010),
(1), obj, "SETUP2" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 2: CnsUsr_saveColTbl( cns ); break;
}
return ((0));
}
# 6 "ntmlib.cci"
int _ntm_errmsg_no_setup_id_and_pw()
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
AplErrMsgTime, " ID とパスワードが設定されていません。 " );
}
int _ntm_dspmsg_dial_start( char *name, char *tel, char *cns )
{
DLG_tmpMsgTime( (0x10030), (0x10030),
1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
3, " %s にダイアルします。\n tel. %s\n ログ保存行数 %d", name, tel,CnsGet_maxLinBuf(cns) );
}
# 18 "nifty.cci"
int _nifty_fenix;
char *_nifty_recKey;
# 25 "nifty.cci"
int _NIFTY_init()
{
char *center;
if ( (center = NTM_centerAlloc( "NIFTY" )) != (0) )
{
NtmCenterSetName ( center, "NIFTY-Serve");
NtmCenterSetFuncKey( center, "NIFTY");
NtmCenterSetRecKey ( center, "NIFTY");
NtmCenterSetRsPara ( center, -1, -1, -1 );
NtmCenterSetRsBreak( center, 50 );
NtmCenterSetCrWait ( center, 100 );
NtmCenterSetTel ( center, "XX-XXXX-XXXX" );
NtmCenterSetPara ( center, "-fenix 2" );
NtmCenterSetModem1 ( center, "ATZ" );
}
# 47 "nifty.cci"
return ((0));
}
# 54 "nifty.cci"
int _NIFTY_naviInit( char *ntm, char *center )
{
# 63 "nifty.cci"
return ((0));
}
# 70 "nifty.cci"
int _NIFTY_para( char *ntm, char *center )
{
char *keyWord;
char *id, *pw;
keyWord = NtmCenterGetKeyWord(center);
if ( NTM_centerConfig( keyWord ) == (0) )
{
id = NtmCenterGetID ( center );
pw = NtmCenterGetPassword( center );
if ( id[0] == 0 || pw[0] == 0 )
return ((-1));
return ((0));
} else
return ((-1));
}
# 92 "nifty.cci"
int _NIFTY_abort( char *ntm, char *center )
{
AplRecWrite("%s:Abort", _nifty_recKey);
NTM_offline( ntm, 2 );
return ((0));
}
# 103 "nifty.cci"
int _NIFTY_autoMenu( char *ntm, char *center, int x, int y)
{
int ret;
char *obj;
char *mnu;
char title[128], tmp[128], tmBuf[32];
long loginTime;
loginTime = NtmCenterGetTime(center, (0) );
if ( loginTime )
{ sprintf( tmp, "Login time %s ", GetAsciiTime(tmBuf, loginTime) );
} else
{ strcpy ( tmp, "Login time XXXX/XX/XX XX:XX:XX");
}
obj = MNU_alloc(3);
MNU_setObj(obj, 0, (1), 0 , tmp , (0), 1, (0), (0) );
MNU_setObj(obj, 1, (2), 'O', "OFF 終了" , (0), 1, (0), (0) );
MNU_setObj(obj, 2, (2), 'B', "OFF 強制回線切断", (0), 2, (0), (0) );
sprintf( title, "MENU : %s", NtmCenterGetName(center));
mnu = MNU_open( x, y, (1), obj, title );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1:
return NTM_callLogout( ntm );
case 2:
NTM_wait(3);
AplRecWrite("%s:Abort disconnect", _nifty_recKey);
return NTM_offline(ntm, 2);
}
return ((0));
}
# 151 "nifty.cci"
int _NIFTY_login( char *ntm, char *center )
{
int i, ret, retry;
char *name, *tel, *id, *pw, *para;
int argc;
char *s, **argv;
long tm;
char *cns;
char *mos;
char *btn;
mos = (0);
cns = NtmGetCnsPtr(ntm);
# 171 "nifty.cci"
_nifty_recKey = NtmCenterGetRecKey(center);
name = NtmCenterGetName ( center );
tel = NtmCenterGetTel ( center );
id = NtmCenterGetID ( center );
pw = NtmCenterGetPassword( center );
if ( tel[0] == 0 || id[0] == 0 || pw[0] == 0 )
{
_ntm_errmsg_no_setup_id_and_pw();
if ( _NIFTY_para( ntm, center ) )
return ((-1));
id = NtmCenterGetID ( center );
pw = NtmCenterGetPassword( center );
tel = NtmCenterGetTel ( center );
}
_nifty_fenix = 2;
para = NtmCenterGetPara( center );
argc = FS_argSet( para, &argv );
if ( argc > 0 )
{
for ( i = 0; i < argc; ++i )
{ s = argv[i];
if ( strcmpi( s, "-fenix") == 0 )
{ s = argv[++i];
_nifty_fenix = atoi(s);
}
}
FS_argClear( argc, argv );
if ( _nifty_fenix < 1 || _nifty_fenix > 3 )
_nifty_fenix = 2;
}
_ntm_dspmsg_dial_start( name, tel, cns );
AplRecWrite("%s:Dial start tel.%s", _nifty_recKey, tel );
if ( ntm_dialStart( ntm, tel ) != (0) )
{
ABORT: _NIFTY_abort( ntm, center );
if ( mos ) MOS_pop(mos);
return ((-1));
}
mos = MOS_push();
MOS_curType((82));
MOS_curDisp(1);
AplRecWrite("%s:Connect", _nifty_recKey );
NTM_wait(2);
if ( _nifty_fenix == 2 || _nifty_fenix == 3 )
{
if ( _nifty_fenix == 2 )
{
retry = 0;
while ( 1 )
{
NTM_rsPuts( ntm, "@P\r");
ret = NTM_waitStr( ntm, 30, "*", (0) );
if ( ret == 0 )
{ break;
} else if ( ret == (-3) )
{ goto ABORT;
}
++retry;
if ( retry > 5 )
goto ABORT;
}
} else
{
ret = NTM_waitStr( ntm, 30, "*", (0) );
if ( ret == (-3) )
goto ABORT;
}
retry = 0;
while ( 1 )
{
NTM_wait(1);
NTM_rsPuts(ntm, "C NIF\r");
NTM_wait(2);
ret = NTM_waitInstr(ntm,30," Enter Connection-ID --->", "*", (0));
if ( ret == 0 )
{ break;
} else if ( ret == 1 )
{ ++retry;
if ( retry > 30 )
goto ABORT;
} else
goto ABORT;
}
} else
{
retry = 0;
while ( 1 )
{ NTM_wait(1);
NTM_rsPuts(ntm,".00+");
ret = NTM_waitInstr(ntm, 30,"Enter Connection-ID --->",
".1", ".2", ".3", ".4", ".5",
".6", ".7", ".8", ".9",
"NO CARRIER", (0) );
if ( ret == 0 )
{
break;
} else if ( ret < 10 )
{
++retry;
if ( retry > 30 )
goto ABORT;
} else
{
goto ABORT;
}
}
}
NTM_wait(1);
NTM_rsPuts(ntm,"SVC\r");
ret = NTM_waitStr( ntm, 30, " Enter User-ID --->", (0) );
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
NTM_rsPuts( ntm, id ); NTM_rsPuts(ntm,"\r");
ret = NTM_waitStr( ntm, 30, " Enter Password --->", (0));
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
NTM_rsPuts( ntm, pw ); NTM_rsPuts(ntm,"\r");
time(&tm);
NtmCenterSetTime( center, (0), tm );
AplRecWrite("%s:Login successful", _nifty_recKey );
MOS_pop(mos);
return ((0));
}
# 317 "nifty.cci"
int _NIFTY_logout( char *ntm, char *center )
{
int ret;
long tm;
time(&tm);
NtmCenterSetTime( center, (1), tm );
AplRecWrite("%s:Logout", _nifty_recKey);
NTM_wait(1);
NTM_rsPuts( ntm, "OFF\r");
if ( _nifty_fenix == 2 )
{
ret = NTM_waitStr( ntm, 60, "*", (0) );
if ( ret == 0 )
{ NTM_wait(1);
NTM_rsPuts( ntm, "OFF\r");
}
NTM_waitInstr( ntm, 30, "NO CARRIER", (0) );
} else
{ NTM_waitInstr( ntm, 60, "ご利用誠にありがとうございました。", (0) );
}
NTM_offline(ntm,2);
AplRecWrite("%s:Disconnect", _nifty_recKey);
# 345 "nifty.cci"
return ((0));
}
# 351 "nifty.cci"
int _NIFTY_lineCheck( char *ntm, char *buf )
{
return ((0));
}
# 360 "nifty.cci"
int _NIFTY_inputCheck( char *ntm, char *s )
{
NTM_rsPuts( ntm, s );
NTM_rsPuts( ntm, "\r" );
return ((0));
}
# 371 "nifty.cci"
char *_nif_amac = (0);
int _nif_open_amac()
{
char tmp[256];
if ( _nif_amac == (0) )
{
if ( (_nif_amac = AMAC_allocWork(0)) == (0) )
return ((-1));
sprintf( tmp,"%s%s", AplGetStartPath(), "nifty_id.tbl" );
AMAC_load( _nif_amac, tmp );
}
return ((0));
}
# 391 "nifty.cci"
int _nif_setAmac( char *ntm, int x, int y )
{
int ret;
char *obj;
char *mnu;
char *dlg;
char *s, id[8+4], handle[8+4];
char *fdl;
char *fn;
static char *_LOAD_TITLE = "LOAD ID TABLE DATA for NIFTY-Serve";
static char *_SAVE_TITLE = "SAVE ID TABLE DATA for NIFTY-Serve";
_nif_open_amac();
do
{
obj = MNU_alloc(3);
MNU_setObj(obj, 0, (2), 'I', "Set ID & handle name", (0), 1, (0), (0) );
MNU_setObj(obj, 1, (2), 'L', "Load ID table data" , (0), 2, (0), (0) );
MNU_setObj(obj, 2, (2), 'S', "Save ID table data" , (0), 3, (0), (0) );
mnu = MNU_open( x, y, (1), obj, "ID REGISTRATION MENU" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1:
id[0] = '\0';
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"" );
DLG_getsSetTitle( dlg, "ID" );
ret = DLG_getsStart( dlg, 8, id );
id[8] = '\0';
DLG_getsClose(dlg);
if ( ret <= 0 )
{ ret = (1);
break;
}
if( (s = AMAC_getName( _nif_amac, id )) == (0) )
handle[0] = '\0';
else
{
strncpy( handle, s, 8 );
handle[8] = '\0';
}
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"ID:%s", id );
DLG_getsSetTitle( dlg, "HANDLE" );
ret = DLG_getsStart( dlg, 8, handle );
handle[8] = '\0';
DLG_getsClose(dlg);
if ( ret < 0 )
{ ret = (1);
break;
}
AMAC_setKey( _nif_amac, id, handle );
ret = 1;
break;
case 2:
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl, _LOAD_TITLE );
FDL_set_wildcard( fdl, "*.tbl");
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret == (0) && strlen(fn) > 0 )
{
dlg = DLG_msgOpen( (0x10030),(0x10030),
6*60,12*6, 1,3, (0x1000|(((12)&15)<<4)|((7)&15)),
_LOAD_TITLE );
DLG_msgSetConfig( dlg, 4, 6, 12 );
DLG_msgClear( dlg, -1 );
DLG_msgPrintf(dlg,"\r\n" );
DLG_msgPrintf(dlg,"FILE NAME : %s\r\n", fn );
if ( AMAC_load( _nif_amac, fn ) != (0) )
DLG_msgPrintf(dlg,"@ LOAD ERROR!!r\n" );
else
DLG_msgPrintf(dlg,"Ok!!\r\n", fn );
MNU_wait(3);
DLG_msgClose(dlg);
}
FDL_close(fdl);
ret = 1;
break;
case 3:
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl, _SAVE_TITLE );
FDL_set_wildcard( fdl, "*.tbl");
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret == (0) && strlen(fn) > 0 )
{
dlg = DLG_msgOpen( (0x10030),(0x10030),
6*60,12*6, 1,3, (0x1000|(((12)&15)<<4)|((7)&15)),
_SAVE_TITLE );
DLG_msgSetConfig( dlg, 4, 6, 12 );
DLG_msgClear( dlg, -1 );
DLG_msgPrintf(dlg,"\r\n" );
DLG_msgPrintf(dlg,"FILE NAME : %s\r\n", fn );
if ( AMAC_save( _nif_amac, fn, "NIFTY-Serve ID table" ) != (0) )
DLG_msgPrintf(dlg,"@ SAVE ERROR!!r\n" );
else
DLG_msgPrintf(dlg,"Ok!!\r\n", fn );
MNU_wait(3);
DLG_msgClose(dlg);
}
FDL_close(fdl);
ret = 1;
break;
default:
ret = 0;
break;
}
} while ( ret );
return ((0));
}
# 523 "nifty.cci"
int NiftyFilter_roomTitle( char *ntm, char *buf )
{
static int flag = 0;
static char *reptn_1 = (0);
static char *reptn_2 = (0);
if ( flag == 0 )
{
reptn_1 = RePtnAlloc("番号 発言 (未読) 最新 会議室名",0);
reptn_2 = RePtnAlloc(".. ... (....) ../.. .*",0);
flag = 1;
}
if ( RePtnMatch( reptn_1, buf) == 0 )
{ NTM_puts(ntm,"\r\n");
NTM_puts(ntm,buf);
} else if ( RePtnMatch( reptn_2, buf) == 0 )
NTM_puts(ntm,buf);
return (0);
}
# 549 "nifty.cci"
int NiftyFilter_confTitle( char *ntm, char *buf )
{
int i, len;
char key[8+4], *name;
static int flag = 0;
static char *reptn_1 = (0);
static char *reptn_2 = (0);
static char *reptn_3 = (0);
static char *reptn_4 = (0);
static char *reptn_5 = (0);
static char *reptn_6 = (0);
if ( flag == 0 )
{
_nif_open_amac();
reptn_1 = RePtnAlloc("- [A-Z].* MES(.[0-9]):.* -",0);
reptn_2 = RePtnAlloc("[0-9]../[0-9].. ...[0-9].... .* .*",0);
reptn_3 = RePtnAlloc("番号 ID 登録日 TO CO 題名",0);
reptn_4 = RePtnAlloc(" ... ........ ../.. ..:.. ... ... .*",0);
reptn_5 = RePtnAlloc("番号 ID 登録日 TO CO 題名",0);
reptn_6 = RePtnAlloc(" .[ 0-9]... ........ ../.. ..:.. ..... ... .*",0);
flag = 1;
}
if ( *buf == '-' )
{
if ( RePtnMatch( reptn_1, buf) == 0 )
{ NTM_puts(ntm,"\r\n");
NTM_puts(ntm,buf);
}
} else
{
len = strlen(buf);
if ( buf < 18 )
return;
if ( strncmp(buf,"番号",4) == 0 )
{
if ( RePtnMatch( reptn_3, buf) == 0
|| RePtnMatch( reptn_5, buf) == 0 )
{ NTM_puts(ntm,"\r\n");
NTM_puts(ntm,buf);
}
} else if ( strchr(buf,'/') )
{
if ( RePtnMatch( reptn_2, buf) == 0 )
NTM_puts(ntm,buf);
else if ( RePtnMatch( reptn_4, buf) == 0 )
{
strncpy( key, &buf[5], 8 ); key[8] = '\0';
if ( (name = AMAC_getName( _nif_amac, key )) != (0) )
{
for ( i = 0; i < 8; ++i )
{ if ( *name )
{ buf[5+i] = *name;
++name;
} else
buf[5+i] = ' ';
}
}
NTM_puts(ntm,buf);
} else if ( RePtnMatch( reptn_6, buf) == 0 )
{
strncpy( key, &buf[7], 8 ); key[8] = '\0';
if ( (name = AMAC_getName( _nif_amac, key )) != (0) )
{
for ( i = 0; i < 8; ++i )
{ if ( *name )
{ buf[7+i] = *name;
++name;
} else
buf[7+i] = ' ';
}
}
NTM_puts(ntm,buf);
}
}
}
return (0);
}
char *_niftyFilter_reptn_rtc = (0);
# 652 "nifty.cci"
int NiftyFilter_rtc( char *ntm, char *buf )
{
if ( _niftyFilter_reptn_rtc == (0) )
{ _niftyFilter_reptn_rtc
= RePtnAlloc("([0-9],.*).*",0);
}
if ( *buf == '(' )
{ if ( RePtnMatch( _niftyFilter_reptn_rtc, buf) == 0 )
NTM_puts(ntm,buf);
}
}
int _nif_set_rtcFilter( char *ntm )
{
char *dlg;
int ret, ch;
char tmp[16], ptn[128];
tmp[0] = '\0';
dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
"表\示するチャンネルを指定してください。\n (指定のない場合はすべて) ");
DLG_getsSetTitle( dlg, "RTC FILTER" );
ret = DLG_getsStart( dlg, 15, tmp );
DLG_getsClose(dlg);
if ( ret >= 0 )
{
if ( ret == 0 )
strcpy( ptn, "([0-9]*,.*)");
else
{
if ( (ch = atoi(tmp)) < 1 )
return ((-1));
sprintf( ptn, "(%d,.*)", ch );
}
if ( _niftyFilter_reptn_rtc )
RePtnFree(_niftyFilter_reptn_rtc);
_niftyFilter_reptn_rtc = RePtnAlloc(ptn,0);
_ntm_setFilterFunc( ntm, "NiftyFilter_rtc");
return ((0));
} else
return ((-1));
}
# 700 "nifty.cci"
int NiftyFilter_dataLibrary( char *ntm, char *buf )
{
int i, len, sub;
char *center;
char *s, *t, fn[16], downFn[128];
char key[8+4], *name;
static int flag = 0;
static char *reptn_1 = (0);
static char *reptn_2 = (0);
static char *reptn_3 = (0);
static int headerLevel = 0;
if ( flag == 0 )
{
_nif_open_amac();
reptn_1 = RePtnAlloc("番号 ID 登録日付 バイト 参照 データ名",0);
reptn_2 = RePtnAlloc("..... ........ ../../.. ....... .... . .*",1);
reptn_3 = RePtnAlloc("処理 (.*)",0);
flag = 1;
}
len = strlen(buf);
if ( len > 42 && RePtnMatch( reptn_1, buf) == 0 )
{ NTM_puts(ntm,"\r\n");
NTM_puts(ntm,buf);
headerLevel = 0;
} else if ( len > 40 && RePtnMatch( reptn_2, buf) == 0 )
{
strncpy( key, &buf[6], 8 ); key[8] = '\0';
if ( (name = AMAC_getName( _nif_amac, key )) != (0) )
{
for ( i = 0; i < 8; ++i )
{ if ( *name )
{ buf[6+i] = *name;
++name;
} else
buf[6+i] = ' ';
}
}
NTM_puts(ntm,buf);
headerLevel = 0;
} else if ( len > 10 && strncmp( buf, "データ名:", 10) == 0 )
{
NTM_puts( ntm, "\r\n" );
NTM_puts( ntm, buf );
headerLevel = 1;
s = &buf[10];
if ( isspace(*s) )
return;
t = fn;
len = 0;
sub = 0;
while ( len < 13 )
{
if ( *s == '\0' || isspace(*s) )
{ *t = '\0';
break;
} else if ( *s == '.' )
sub = 1;
*t = *s;
++t;
++s;
++len;
}
if ( len > 12 )
return;
if ( sub == 0 && len < 8 && *s )
{
while( isspace(*s) )
++s;
if ( *s == '.' )
{
while ( len < 13 )
{ if ( *s == '\0' || isspace(*s) )
{ *t = '\0';
break;
}
*t = *s;
++s;
++t;
++len;
}
if ( len > 12 )
return;
}
}
if ( (center = NtmGetCenterPtr(ntm)) != (0) )
{
s = NtmCenterGetDownDir(center);
if ( s && *s )
sprintf( downFn, "%s/%s", s, fn );
} else
strcpy( downFn, fn );
NTM_setCmdStr( ntm, downFn );
} else if ( headerLevel > 0 )
{
if ( headerLevel < 7 )
{
if ( strncmp( &buf[8], ":",2) == 0 )
{ NTM_puts( ntm, buf );
++headerLevel;
}
} else
{ if ( RePtnMatch( reptn_3, buf) == 0 )
{ headerLevel = 0;
} else
NTM_puts( ntm, buf );
}
}
return ((0));
}
# 831 "nifty.cci"
int _NIFTY_filterMenu( char *ntm, int x, int y )
{
int ret;
char *obj;
char *mnu;
obj = MNU_alloc(10);
MNU_setObj(obj, 0, (2), 'F', "Set filter pattern" , (0), 1, (0), (0) );
MNU_setObj(obj, 1, (2), 'O', "Filter mode off" , (0), 2, (0), (0) );
MNU_setObj(obj, 2, (2), 'T', "Filter test" , (0), 3, (0), (0) );
MNU_setObj(obj, 3, (0), 0 , (0) , (0), 0, (0), (0) );
MNU_setObj(obj, 4, (2), '1', "Room title" , (0), 4, (0), (0) );
MNU_setObj(obj, 5, (2), '2', "Conferrence title" , (0), 5, (0), (0) );
MNU_setObj(obj, 6, (2), '3', "Data library" , (0), 6, (0), (0) );
MNU_setObj(obj, 7, (2), '4', "Real time conferrence", (0), 7, (0), (0) );
MNU_setObj(obj, 8, (0), 0 , (0) , (0), 0, (0), (0) );
MNU_setObj(obj, 9, (2), 'H', "Register Handle" , (0), 8, (0), (0) );
mnu = MNU_open( x, y, (1), obj, "FILTER MENU" );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1:
_ntm_inputFilterPtn( ntm );
break;
case 2:
NtmSetFilterPtn ( ntm, "",0 );
NtmSetFilterFunc( ntm, (0) );
NtmFilterModeOff( ntm );
break;
case 3:
_ntm_filterTest( ntm );
break;
case 4:
_ntm_setFilterFunc( ntm, "NiftyFilter_roomTitle");
break;
case 5:
_ntm_setFilterFunc( ntm, "NiftyFilter_confTitle");
break;
case 6:
_ntm_setFilterFunc( ntm, "NiftyFilter_dataLibrary");
break;
case 7:
_nif_set_rtcFilter( ntm );
break;
case 8:
_nif_setAmac(ntm,x,y);
break;
}
return ((0));
}
int CCI_dspNiftyStt()
{
char *center;
char *name;
long loginTime, logoutTime;
char t1[32], t2[32];
if ( (center = NTM_getCenter("NIFTY")) == (0) )
return ((-1));
name = NtmCenterGetName(center);
loginTime = NtmCenterGetTime( center, (0) );
logoutTime = NtmCenterGetTime( center, (1) );
DLG_tmpMsgBox( (0x10030), (0x10030),
1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
" センター名 : %s\n Login time %s \n Last logout time %s ",
name, GetAsciiTime(t1, loginTime), GetAsciiTime(t2,logoutTime) );
return ((0));
}
# 19 "center01.cci"
char *_center01_recKey;
int _CENTER01_init()
{
char *center;
if ( (center = NTM_centerAlloc( "CENTER01" )) != (0) )
{
NtmCenterSetName ( center, "Sample center (type-01:BIG-Model)");
NtmCenterSetFuncKey( center, "CENTER01");
NtmCenterSetRecKey ( center, "CENTER01");
NtmCenterSetRsPara ( center, -1, -1, -1 );
NtmCenterSetRsBreak( center, 50 );
NtmCenterSetCrWait ( center, 100 );
NtmCenterSetTel ( center, "XX-XXXX-XXXX" );
NtmCenterSetModem1 ( center, "ATZ" );
}
return ((0));
}
# 44 "center01.cci"
int _CENTER01_naviInit( char *ntm, char *center )
{
# 49 "center01.cci"
return ((0));
}
# 56 "center01.cci"
int _CENTER01_para( char *ntm, char *center )
{
char *keyWord;
char *id, *pw;
keyWord = NtmCenterGetKeyWord(center);
if ( NTM_centerConfig( keyWord ) == (0) )
{
id = NtmCenterGetID ( center );
pw = NtmCenterGetPassword( center );
if ( id[0] == 0 || pw[0] == 0 )
return ((-1));
return ((0));
} else
return ((-1));
}
# 78 "center01.cci"
int _CENTER01_abort( char *ntm, char *center )
{
AplRecWrite("%s:Abort", _center01_recKey);
NTM_offline( ntm, 2);
return ((0));
}
# 89 "center01.cci"
int _CENTER01_autoMenu( char *ntm, char *center, int x, int y)
{
int ret;
char *obj;
char *mnu;
char title[128], tmp[128], tmBuf[32];
long loginTime;
if ( ntm == (0) || center == (0) )
return (0);
loginTime = NtmCenterGetTime(center, (0) );
if ( loginTime )
{ sprintf( tmp, "Login time %s ", GetAsciiTime(tmBuf,loginTime) );
} else
{ strcpy( tmp, "Login time XXXX/XX/XX XX:XX:XX");
}
obj = MNU_alloc(3);
MNU_setObj(obj, 0, (1), 0 , tmp , (0), 1, (0), (0) );
MNU_setObj(obj, 1, (2), 'O', "OFF 終了" , (0), 1, (0), (0) );
MNU_setObj(obj, 2, (2), 'B', "OFF 強制回線切断", (0), 2, (0), (0) );
sprintf( title, "MENU : %s", NtmCenterGetName(center));
mnu = MNU_open( x, y, (1), obj, title );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1:
return NTM_callLogout( ntm );
case 2:
NTM_wait(3);
AplRecWrite("%s:Abort disconnect", _center01_recKey);
return NTM_offline(ntm, 2);
}
return ((0));
}
# 131 "center01.cci"
int _CENTER01_login( char *ntm, char *center )
{
int i, ret, retry;
char *name, *tel, *id, *pw, *para;
int argc;
char *s, **argv;
long tm;
char *cns;
char *mos;
mos = (0);
cns = NtmGetCnsPtr(ntm);
# 148 "center01.cci"
_center01_recKey = NtmCenterGetRecKey(center);
name = NtmCenterGetName ( center );
tel = NtmCenterGetTel ( center );
id = NtmCenterGetID ( center );
pw = NtmCenterGetPassword( center );
if ( tel[0] == 0 || id[0] == 0 || pw[0] == 0 )
{
_ntm_errmsg_no_setup_id_and_pw();
if ( _CENTER01_para( ntm, center ) )
return ((-1));
id = NtmCenterGetID ( center );
pw = NtmCenterGetPassword( center );
tel = NtmCenterGetTel ( center );
}
_ntm_dspmsg_dial_start( name, tel, cns );
AplRecWrite("%s:Dial start tel.%s", _center01_recKey, tel );
if ( ntm_dialStart( ntm, tel ) != (0) )
{
ABORT: _CENTER01_abort( ntm, center );
if ( mos ) MOS_pop(mos);
return ((-1));
}
mos = MOS_push();
MOS_curType((82));
MOS_curDisp(1);
AplRecWrite("%s:Connect", _center01_recKey );
NTM_wait(1);
ret = NTM_waitStr( ntm, 30, "IDを入力してください :", (0) );
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
NTM_rsPuts( ntm, id ); NTM_rsPuts(ntm,"\r");
ret = NTM_waitStr( ntm, 30, "パスワードを入力してください :", (0));
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
NTM_rsPuts( ntm, pw ); NTM_rsPuts(ntm,"\r");
time(&tm);
NtmCenterSetTime( center, (0), tm );
AplRecWrite("%s:Login successful", _center01_recKey );
NTM_rsPuts(ntm,"\r");
MOS_pop(mos);
return ((0));
}
# 207 "center01.cci"
int _CENTER01_logout( char *ntm, char *center )
{
int ret;
long tm;
time(&tm);
NtmCenterSetTime( center, (1), tm );
AplRecWrite("%s:Logout", _center01_recKey);
NTM_wait(1);
NTM_rsPuts( ntm, "E\rY\r");
NTM_waitInstr( ntm, 30, "NO CARRIER", (0) );
NTM_offline(ntm, 2);
AplRecWrite("%s:Disconnect", _center01_recKey);
return ((0));
}
# 228 "center01.cci"
int _CENTER01_lineCheck( char *ntm, char *buf )
{
return ((0));
}
# 237 "center01.cci"
int _CENTER01_inputCheck( char *ntm, char *s )
{
NTM_rsPuts( ntm, s );
NTM_rsPuts( ntm, "\r" );
return ((0));
}
# 248 "center01.cci"
int _CENTER01_filterMenu( char *ntm, int x, int y )
{
return NtmUsr_filterMenu( ntm, x, y );
}
int CCI_dspCenter01Stt()
{
char *center;
char *name;
long loginTime, logoutTime;
char t1[32], t2[32];
if ( (center = NTM_getCenter("CENTER01")) == (0) )
return ((-1));
name = NtmCenterGetName(center);
loginTime = NtmCenterGetTime( center, (0) );
logoutTime = NtmCenterGetTime( center, (1) );
DLG_tmpMsgBox( (0x10030), (0x10030),
1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
" センター名 : %s\n Login time %s \n Last logout time %s ",
name, GetAsciiTime(t1, loginTime), GetAsciiTime(t2,logoutTime) );
return ((0));
}
# 15 "center02.cci"
char *_center02_recKey;
int _CENTER02_init()
{
char *center;
if ( (center = NTM_centerAlloc( "CENTER02" )) != (0) )
{
NtmCenterSetName ( center, "Sample center (type-02:nanno)");
NtmCenterSetFuncKey( center, "CENTER02");
NtmCenterSetRecKey ( center, "CENTER02");
NtmCenterSetRsPara ( center, -1, -1, -1 );
NtmCenterSetRsBreak( center, 50 );
NtmCenterSetCrWait ( center, 100 );
NtmCenterSetTel ( center, "" );
NtmCenterSetModem1 ( center, "ATZ" );
}
return ((0));
}
# 39 "center02.cci"
int _CENTER02_naviInit( char *ntm, char *center )
{
# 44 "center02.cci"
return ((0));
}
# 51 "center02.cci"
int _CENTER02_para( char *ntm, char *center )
{
char *keyWord;
char *id, *pw;
keyWord = NtmCenterGetKeyWord(center);
if ( NTM_centerConfig( keyWord ) == (0) )
{
id = NtmCenterGetID ( center );
pw = NtmCenterGetPassword( center );
if ( id[0] == 0 || pw[0] == 0 )
return ((-1));
return ((0));
} else
return ((-1));
}
# 73 "center02.cci"
int _CENTER02_abort( char *ntm, char *center )
{
AplRecWrite("%s:Abort", _center02_recKey);
NTM_offline( ntm, 2 );
return ((0));
}
# 84 "center02.cci"
int _CENTER02_autoMenu( char *ntm, char *center, int x, int y)
{
int ret;
char *obj;
char *mnu;
char title[128], tmp[128], tmBuf[32];
long loginTime;
if ( ntm == (0) || center == (0) )
return (0);
loginTime = NtmCenterGetTime(center, (0) );
if ( loginTime )
{ sprintf( tmp, "Login time %s ", GetAsciiTime(tmBuf,loginTime) );
} else
{ strcpy( tmp, "Login time XXXX/XX/XX XX:XX:XX");
}
obj = MNU_alloc(3);
MNU_setObj(obj, 0, (1), 0 , tmp , (0), 0, (0), (0) );
MNU_setObj(obj, 1, (2), 'O', "OFF 終了" , (0), 1, (0), (0) );
MNU_setObj(obj, 2, (2), 'B', "OFF 強制回線切断", (0), 2, (0), (0) );
sprintf( title, "MENU : %s", NtmCenterGetName(center));
mnu = MNU_open( x, y, (1), obj, title );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1:
return NTM_callLogout( ntm );
case 2:
NTM_wait(3);
AplRecWrite("%s:Abort disconnect", _center02_recKey);
return NTM_offline(ntm, 2);
}
return ((0));
}
# 126 "center02.cci"
int _CENTER02_login( char *ntm, char *center )
{
int i, ret, retry;
char *name, *tel, *id, *pw, *para;
int argc;
char *s, **argv;
long tm;
char *cns;
char *mos;
mos = (0);
cns = NtmGetCnsPtr(ntm);
# 143 "center02.cci"
_center02_recKey = NtmCenterGetRecKey(center);
name = NtmCenterGetName ( center );
tel = NtmCenterGetTel ( center );
id = NtmCenterGetID ( center );
pw = NtmCenterGetPassword( center );
if ( tel[0] == 0 || id[0] == 0 || pw[0] == 0 )
{
_ntm_errmsg_no_setup_id_and_pw();
if ( _CENTER02_para( ntm, center ) )
return ((-1));
id = NtmCenterGetID ( center );
pw = NtmCenterGetPassword( center );
tel = NtmCenterGetTel ( center );
}
_ntm_dspmsg_dial_start( name, tel, cns );
AplRecWrite("%s:Dial start tel.%s", _center02_recKey, tel );
if ( ntm_dialStart( ntm, tel ) != (0) )
{
ABORT: _CENTER02_abort( ntm, center );
if ( mos ) MOS_pop(mos);
return ((-1));
}
mos = MOS_push();
MOS_curType((82));
MOS_curDisp(1);
AplRecWrite("%s:Connect", _center02_recKey );
NTM_wait(1);
ret = NTM_waitStr( ntm, 30, "HIT RETURN KEY>", (0));
if ( ret == (-3) )
goto ABORT;
NTM_rsPuts(ntm,"\r");
NTM_wait(1);
ret = NTM_waitStr( ntm, 30, "User ID=", (0) );
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
NTM_rsPuts( ntm, id ); NTM_rsPuts(ntm,"\r");
ret = NTM_waitStr( ntm, 30, "Password=", (0));
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
NTM_rsPuts( ntm, pw ); NTM_rsPuts(ntm,"\r");
time(&tm);
NtmCenterSetTime( center, (0), tm );
AplRecWrite("%s:Login successful", _center02_recKey );
MOS_pop(mos);
return ((0));
}
# 207 "center02.cci"
int _CENTER02_logout( char *ntm, char *center )
{
int ret;
long tm;
time(&tm);
NtmCenterSetTime( center, (1), tm );
AplRecWrite("%s:Logout", _center02_recKey);
NTM_wait(1);
NTM_rsPuts( ntm, "OFF\r");
NTM_waitInstr( ntm, 30, "NO CARRIER", (0) );
NTM_offline(ntm, 2);
AplRecWrite("%s:Disconnect", _center02_recKey);
return ((0));
}
# 227 "center02.cci"
int _CENTER02_lineCheck( char *ntm, char *buf )
{
return ((0));
}
# 236 "center02.cci"
int _CENTER02_filterMenu( char *ntm, int x, int y )
{
return NtmUsr_filterMenu( ntm, x, y );
}
# 245 "center02.cci"
int _CENTER02_inputCheck( char *ntm, char *s )
{
NTM_rsPuts( ntm, s );
NTM_rsPuts( ntm, "\r" );
return ((0));
}
int CCI_dspCenter02Stt()
{
char *center;
char *name;
long loginTime, logoutTime;
char t1[32], t2[32];
if ( (center = NTM_getCenter("CENTER02")) == (0) )
return ((-1));
name = NtmCenterGetName(center);
loginTime = NtmCenterGetTime( center, (0) );
logoutTime = NtmCenterGetTime( center, (1) );
DLG_tmpMsgBox( (0x10030), (0x10030),
1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
" センター名 : %s\n Login time %s \n Last logout time %s ",
name, GetAsciiTime(t1, loginTime), GetAsciiTime(t2,logoutTime) );
return ((0));
}
# 15 "center03.cci"
char *_center03_recKey;
int _CENTER03_init()
{
char *center;
if ( (center = NTM_centerAlloc( "CENTER03" )) != (0) )
{
NtmCenterSetName ( center, "Sample center (type-03:)");
NtmCenterSetFuncKey( center, "CENTER03");
NtmCenterSetRecKey ( center, "CENTER03");
NtmCenterSetRsPara ( center, -1, -1, -1 );
NtmCenterSetRsBreak( center, 50 );
NtmCenterSetCrWait ( center, 100 );
NtmCenterSetTel ( center, "XX-XXXX-XXXX" );
NtmCenterSetModem1 ( center, "ATZ" );
}
return ((0));
}
# 39 "center03.cci"
int _CENTER03_naviInit( char *ntm, char *center )
{
# 44 "center03.cci"
return ((0));
}
# 51 "center03.cci"
int _CENTER03_para( char *ntm, char *center )
{
char *keyWord;
char *id, *pw;
keyWord = NtmCenterGetKeyWord(center);
if ( NTM_centerConfig( keyWord ) == (0) )
{
id = NtmCenterGetID ( center );
pw = NtmCenterGetPassword( center );
if ( id[0] == 0 || pw[0] == 0 )
return ((-1));
return ((0));
} else
return ((-1));
}
# 73 "center03.cci"
int _CENTER03_abort( char *ntm, char *center )
{
AplRecWrite("%s:Abort", _center03_recKey);
NTM_offline( ntm, 2 );
return ((0));
}
# 84 "center03.cci"
int _CENTER03_autoMenu( char *ntm, char *center, int x, int y)
{
int ret;
char *obj;
char *mnu;
char title[128], tmp[128], tmBuf[32];
long loginTime;
if ( ntm == (0) || center == (0) )
return (0);
loginTime = NtmCenterGetTime(center, (0) );
if ( loginTime )
{ sprintf( tmp, "Login time %s ", GetAsciiTime(tmBuf,loginTime) );
} else
{ strcpy( tmp, "Login time XXXX/XX/XX XX:XX:XX");
}
obj = MNU_alloc(3);
MNU_setObj(obj, 0, (1), 0 , tmp , (0), 0, (0), (0) );
MNU_setObj(obj, 1, (2), 'O', "OFF 終了" , (0), 1, (0), (0) );
MNU_setObj(obj, 2, (2), 'B', "OFF 強制回線切断", (0), 2, (0), (0) );
sprintf( title, "MENU : %s", NtmCenterGetName(center));
mnu = MNU_open( x, y, (1), obj, title );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1:
return NTM_callLogout( ntm );
case 2:
NTM_wait(3);
AplRecWrite("%s:Abort disconnect", _center03_recKey);
return NTM_offline(ntm, 2);
}
return ((0));
}
# 126 "center03.cci"
int _CENTER03_login( char *ntm, char *center )
{
int i, ret, retry;
char *name, *tel, *id, *pw, *para;
int argc;
char *s, **argv;
long tm;
char *cns;
char *mos;
mos = (0);
cns = NtmGetCnsPtr(ntm);
# 143 "center03.cci"
_center03_recKey = NtmCenterGetRecKey(center);
name = NtmCenterGetName ( center );
tel = NtmCenterGetTel ( center );
id = NtmCenterGetID ( center );
pw = NtmCenterGetPassword( center );
if ( tel[0] == 0 || id[0] == 0 || pw[0] == 0 )
{
_ntm_errmsg_no_setup_id_and_pw();
if ( _CENTER03_para( ntm, center ) )
return ((-1));
id = NtmCenterGetID ( center );
pw = NtmCenterGetPassword( center );
tel = NtmCenterGetTel ( center );
}
_ntm_dspmsg_dial_start( name, tel, cns );
AplRecWrite("%s:Dial start tel.%s", _center03_recKey, tel );
if ( ntm_dialStart( ntm, tel ) != (0) )
{
ABORT: _CENTER03_abort( ntm, center );
if ( mos ) MOS_pop(mos);
return ((-1));
}
mos = MOS_push();
MOS_curType((82));
MOS_curDisp(1);
AplRecWrite("%s:Connect", _center03_recKey );
NTM_wait(1);
ret = NTM_waitStr( ntm, 30, "User ID: FM-", (0) );
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
NTM_rsPuts( ntm, id ); NTM_rsPuts(ntm,"\r");
ret = NTM_waitStr( ntm, 30, "Password:", (0));
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
NTM_rsPuts( ntm, pw ); NTM_rsPuts(ntm,"\r");
time(&tm);
NtmCenterSetTime( center, (0), tm );
AplRecWrite("%s:Login successful", _center03_recKey );
MOS_pop(mos);
return ((0));
}
# 201 "center03.cci"
int _CENTER03_logout( char *ntm, char *center )
{
int ret;
long tm;
time(&tm);
NtmCenterSetTime( center, (1), tm );
AplRecWrite("%s:Logout", _center03_recKey);
NTM_wait(1);
NTM_rsPuts( ntm, "OFF\r");
NTM_waitInstr( ntm, 30, "NO CARRIER", (0) );
NTM_offline(ntm, 2);
AplRecWrite("%s:Disconnect", _center03_recKey);
return ((0));
}
# 221 "center03.cci"
int _CENTER03_lineCheck( char *ntm, char *buf )
{
return ((0));
}
# 230 "center03.cci"
int _CENTER03_inputCheck( char *ntm, char *s )
{
NTM_rsPuts( ntm, s );
NTM_rsPuts( ntm, "\r" );
return ((0));
}
# 241 "center03.cci"
int _CENTER02_filterMenu( char *ntm, int x, int y )
{
return NtmUsr_filterMenu( ntm, x, y );
}
int CCI_dspCenter03Stt()
{
char *center;
char *name;
long loginTime, logoutTime;
char t1[32], t2[32];
if ( (center = NTM_getCenter("CENTER03")) == (0) )
return ((-1));
name = NtmCenterGetName(center);
loginTime = NtmCenterGetTime( center, (0) );
logoutTime = NtmCenterGetTime( center, (1) );
DLG_tmpMsgBox( (0x10030), (0x10030),
1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
" センター名 : %s\n Login time %s \n Last logout time %s ",
name, GetAsciiTime(t1, loginTime), GetAsciiTime(t2,logoutTime) );
return ((0));
}
# 17 "center04.cci"
char *_center04_recKey;
int _CENTER04_init()
{
char *center;
if ( (center = NTM_centerAlloc( "CENTER04" )) != (0) )
{
NtmCenterSetName ( center, "Sample center (type-04:Turbo-BBS)");
NtmCenterSetFuncKey( center, "CENTER04");
NtmCenterSetRecKey ( center, "CENTER04");
NtmCenterSetRsPara ( center, -1, -1, -1 );
NtmCenterSetRsBreak( center, 50 );
NtmCenterSetCrWait ( center, 100 );
NtmCenterSetTel ( center, "XX-XXXX-XXXX" );
NtmCenterSetModem1 ( center, "ATZ" );
}
return ((0));
}
# 41 "center04.cci"
int _CENTER04_naviInit( char *ntm, char *center )
{
NtmSetNaviServiceMode( ntm, 0 );
return ((0));
}
# 52 "center04.cci"
int _CENTER04_para( char *ntm, char *center )
{
char *keyWord;
char *id, *pw;
keyWord = NtmCenterGetKeyWord(center);
if ( NTM_centerConfig( keyWord ) == (0) )
{
id = NtmCenterGetID ( center );
pw = NtmCenterGetPassword( center );
if ( id[0] == 0 || pw[0] == 0 )
return ((-1));
return ((0));
} else
return ((-1));
}
# 74 "center04.cci"
int _CENTER04_abort( char *ntm, char *center )
{
AplRecWrite("%s:Abort", _center04_recKey);
NTM_offline( ntm, 2 );
return ((0));
}
# 85 "center04.cci"
int _CENTER04_autoMenu( char *ntm, char *center, int x, int y)
{
int ret;
char *obj;
char *mnu;
char title[128], tmp[128], tmBuf[32];
long loginTime;
if ( ntm == (0) || center == (0) )
return (0);
loginTime = NtmCenterGetTime(center, (0) );
if ( loginTime )
{ sprintf( tmp, "Login time %s ", GetAsciiTime(tmBuf,loginTime) );
} else
{ strcpy( tmp, "Login time XXXX/XX/XX XX:XX:XX");
}
obj = MNU_alloc(3);
MNU_setObj(obj, 0, (1), 0 , tmp , (0), 0, (0), (0) );
MNU_setObj(obj, 1, (2), 'O', "OFF 終了" , (0), 1, (0), (0) );
MNU_setObj(obj, 2, (2), 'B', "OFF 強制回線切断", (0), 2, (0), (0) );
sprintf( title, "MENU : %s", NtmCenterGetName(center));
mnu = MNU_open( x, y, (1), obj, title );
ret = MNU_start ( mnu );
MNU_close(mnu);
MNU_free(obj);
switch ( ret )
{
case 1:
return NTM_callLogout( ntm );
case 2:
NTM_wait(3);
AplRecWrite("%s:Abort disconnect", _center04_recKey);
return NTM_offline(ntm, 2);
}
return ((0));
}
# 127 "center04.cci"
int _CENTER04_login( char *ntm, char *center )
{
int i, ret, retry;
char *name, *tel, *id, *pw, *para;
int argc;
char *s, **argv;
long tm;
char *cns;
char *mos;
mos = (0);
cns = NtmGetCnsPtr(ntm);
# 144 "center04.cci"
_center04_recKey = NtmCenterGetRecKey(center);
name = NtmCenterGetName ( center );
tel = NtmCenterGetTel ( center );
id = NtmCenterGetID ( center );
pw = NtmCenterGetPassword( center );
if ( tel[0] == 0 || id[0] == 0 || pw[0] == 0 )
{
_ntm_errmsg_no_setup_id_and_pw();
if ( _CENTER04_para( ntm, center ) )
return ((-1));
id = NtmCenterGetID ( center );
pw = NtmCenterGetPassword( center );
tel = NtmCenterGetTel ( center );
}
_ntm_dspmsg_dial_start( name, tel, cns );
AplRecWrite("%s:Dial start tel.%s", _center04_recKey, tel );
if ( ntm_dialStart( ntm, tel ) != (0) )
{
ABORT: _CENTER04_abort( ntm, center );
if ( mos ) MOS_pop(mos);
return ((-1));
}
mos = MOS_push();
MOS_curType((82));
MOS_curDisp(1);
AplRecWrite("%s:Connect", _center04_recKey );
ret = NTM_waitInstr( ntm, 30, "User ID = ", (0) );
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
NTM_rsPuts( ntm, id ); NTM_rsPuts(ntm,"\r");
ret = NTM_waitStr( ntm, 30, "Password = ", (0));
if ( ret == (-3) )
goto ABORT;
NTM_wait(1);
NTM_rsPuts( ntm, pw ); NTM_rsPuts(ntm,"\r");
time(&tm);
NtmCenterSetTime( center, (0), tm );
AplRecWrite("%s:Login successful", _center04_recKey );
MOS_pop(mos);
return ((0));
}
# 201 "center04.cci"
int _CENTER04_logout( char *ntm, char *center )
{
int ret;
long tm;
time(&tm);
NtmCenterSetTime( center, (1), tm );
AplRecWrite("%s:Logout", _center04_recKey);
NTM_wait(1);
NTM_rsPuts( ntm, "O\r");
NTM_waitInstr( ntm, 30, "(Y/[N]) >", (0) );
if ( ret != (-3) )
{
NTM_rsPuts( ntm, "Y\r");
}
NTM_waitInstr( ntm, 30, "NO CARRIER", (0) );
NTM_offline(ntm, 2);
AplRecWrite("%s:Disconnect", _center04_recKey);
return ((0));
}
# 228 "center04.cci"
int _CENTER04_lineCheck( char *ntm, char *buf )
{
return ((0));
}
# 237 "center04.cci"
int _CENTER04_inputCheck( char *ntm, char *s )
{
NTM_rsPuts( ntm, s );
NTM_rsPuts( ntm, "\r" );
return ((0));
}
# 248 "center04.cci"
int _CENTER04_filterMenu( char *ntm, int x, int y )
{
return NtmUsr_filterMenu( ntm, x, y );
}
int CCI_dspCenter04Stt()
{
char *center;
char *name;
long loginTime, logoutTime;
char t1[32], t2[32];
if ( (center = NTM_getCenter("CENTER04")) == (0) )
return ((-1));
name = NtmCenterGetName(center);
loginTime = NtmCenterGetTime( center, (0) );
logoutTime = NtmCenterGetTime( center, (1) );
DLG_tmpMsgBox( (0x10030), (0x10030),
1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
" センター名 : %s\n Login time %s \n Last logout time %s ",
name, GetAsciiTime(t1, loginTime), GetAsciiTime(t2,logoutTime) );
return ((0));
}
# 969 "ntm.cci"
char *NtmTbl_metakey[26] =
{
"read All",
"go Bill",
"Compose",
"Down",
"Echo",
"Forward",
"Guest",
"go HP",
"Insert",
"Jump",
"Delete",
"Lib",
"go Member",
"Number",
"Off",
"go Phone",
"Quit",
"Reply",
"Store",
"Time",
"Upload",
"View",
"Wait",
"rvl",
"sdl",
"mread room:"
};
# 1003 "ntm.cci"
int NtmUsr_sysInit()
{
int i;
for ( i = 0; i < 26; ++i )
NtmMetaKeySet( 'A'+i, NtmTbl_metakey[i]);
_NIFTY_init();
# 1027 "ntm.cci"
_CENTER01_init();
_CENTER02_init();
_CENTER03_init();
_CENTER04_init();
NTM_loadCenterData( "center.dat" );
}
int NtmUsr_sysTerm( int saveFlag )
{
if ( saveFlag )
NTM_saveCenterData( "center.dat" );
return ((0));
}
# 1054 "ntm.cci"
int NtmUsr_lineCheck( char *ntm, char *buf )
{
return ((0));
}
# 1063 "ntm.cci"
int NtmUsr_inputCheck( char *ntm, char *s )
{
NTM_rsPuts( ntm, s );
NTM_rsPuts( ntm, "\r" );
return ((0));
}
# 13 "tools.cci"
int CCI_sidework()
{
AplSideWorkMenu();
return ((0));
}
# 26 "tools.cci"
int CCI_textViewer( int argc, char **argv)
{
if ( argc > 1 )
{ AplHelpDlg( argv[1], "TEXT" );
}
return ((0));
}
# 6 "sndplay.cci"
int CCI_sndPlay(int argc, char **argv)
{
char *fp;
char *fdl;
char *dlg;
char *fn, buf[128], *dat;
int ret, ch, mute_sw, x, y;
long siz;
if ( argc > 1 )
{
fn = argv[1];
} else
{
if ( (fdl = FDL_open(0)) == (0) )
return ((-1));
FDL_set_title( fdl,"SND PLAY");
FDL_set_wildcard( fdl, "*.snd");
ret = FDL_start(fdl);
fn = FDL_get_filename(fdl);
if ( ret == (0) && strlen(fn) > 0 )
{
strcpy( buf, fn );
fn = buf;
} else
ret = (-1);
FDL_close(fdl);
if ( ret != (0) )
return ((-1));
}
if ( (fp = FM_fopen(fn,"rb")) == (0) )
{
DLG_tmpMsgTime( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
3, "file open error!! (%s)", fn );
return ((-1));
}
fseek(fp, 0, (2));
siz = ftell(fp);
rewind(fp);
if( (dat = malloc(siz)) == (0) )
{
FM_fclose(fp);
DLG_tmpMsgBox ( (0x10020), (0x10020),
1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
"Memory allocation error!! (size %u)", siz );
return ((-1));
}
fread( dat, siz, 1, fp );
FM_fclose(fp);
dlg = DLG_msgOpen( (0x10020),(0x10020),
6*40,12*6, 1,3,(0x1000|(((12)&15)<<4)|((7)&15)),
"SND PLAYER");
DLG_msgSetConfig( dlg, 4, 6, 12 );
DLG_msgClear( dlg, 15);
DLG_msgPrintf(dlg,"\r\n" );
DLG_msgPrintf(dlg,"SND DATA FILE : %s\r\n", fn );
DLG_msgPrintf(dlg," DATA SIZE : %8u\r\n", siz );
DLG_msgPrintf(dlg," BASE NOTE : %d\r\n", dat[28]&127 );
SND_get_elevol_mute( &mute_sw );
mute_sw |= 1;
SND_elevol_mute( mute_sw );
SND_pcm_abort();
SND_pcm_mode_set(1);
ch = 71;
SND_pan_set(ch,64);
SND_pitch_change(ch,8192);
SND_volume_change(ch,127);
SND_pcm_play(ch, dat[28] & 127, 127, dat);
while ( SND_pcm_status(ch) != 0 )
{ if ( EVT_kbhit() || EVT_mos_pget(&x,&y) )
{
DLG_msgPrintf(dlg,"\r\nAbort...\r\n" );
break;
}
}
SND_pcm_play_stop(ch);
DLG_msgClose( dlg );
free(dat);
return ((0));
}